表单元格(td)相对于表行(tr)的绝对位置
Absolute position table cell (td) relative to table row (tr)
是否可以将表单元格(td)相对于包含该td的表行(tr)进行绝对定位。
例如,考虑html如下:
<table>
<tr>
<td>tr1 td 1</td>
<td>tr1 td 2</td>
<td class="last">tr1 td 3</td>
</tr>
<tr>
<td>tr2 td 1</td>
<td>tr2 td 2</td>
<td class="last">tr2 td 3</td>
</tr>
<tr>
<td>tr3 td 1</td>
<td>tr3 td 2</td>
<td class="last">tr3 td 3</td>
</tr>
</table>
和css如下:
tr{position:relative}
td.last{ position:absolute; left: 10px; top: 40px}
在上面的例子中,我可以从tr中取出最后一个td,并将其相对于tr的绝对位置。
编辑:它可以在Firefox版本33.0中工作,但不能在Chrome版本38中工作。铬td相对于桌子定位,而非tr.
请查看jsfiddlehttp://jsfiddle.net/n5s53v32/2/。
对于表,浏览器是非常严格的。当您超出了表的工作设计范围时,它就不能很好地工作。
然而,您可以使用固定定位的技巧来欺骗浏览器,使其不考虑错误放置的表单元格,因为它完全偏离了正常流程:
-
将
transform
属性添加到表行,使其充当固定位置的容器。选择一个不会对视觉产生任何影响的,如transform: scale(1,1);
-
将表格单元格设置为
position: fixed
,然后可以将其相对移动到转换后的行:
tr {
position:relative;
transform:scale(1,1);
}
td.last{
position:fixed;
left: 10px;
top: 40px;
}
<table>
<tr>
<td>td 1</td>
<td>td 2</td>
<td class="last">td 3</td>
</tr>
<tr>
<td>td 1</td>
<td>td 2</td>
<td class="last">td 3</td>
</tr>
<tr>
<td>td 1</td>
<td>td 2</td>
<td class="last">td 3</td>
</tr>
</table>
您不能将单元格从表中移开(据我所知)。
相关文章:
- jquery试图按名称获取按钮位置
- 我可以获得相对于被点击元素的确切点击位置吗
- 谷歌地图固定位置覆盖
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 循环比赛位置算法
- es6 相当于下划线查找位置
- jQuery循环在特定位置暂停
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 自定义函数中的光标位置
- 安卓平台上的QWebView HTML5地理位置
- DIV并排,位置不正确
- 使用jQuery更改元素的顶部位置
- 在谷歌地图上绘制位置数据库
- 跟踪jqplot垂直折线图的鼠标位置
- 设置画布渲染器的x和y位置
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 表单元格(td)相对于表行(tr)的绝对位置
- jquery可排序ui保存tr位置
- 使用Prototype JS在特定位置插入tr
- 在表tr中跨度到错误的位置