San*_*kar 2 html javascript css jquery
是否可以相对于包含该 td 的表行 (tr) 绝对定位表单元格 (td)。
例如,考虑如下 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>
Run Code Online (Sandbox Code Playgroud)
和CSS如下:
tr{position:relative}
td.last{ position:absolute; left: 10px; top: 40px}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我可以从 tr 中取出最后一个 td 并将其相对于 tr 进行绝对定位吗?
编辑:它在 Firefox 版本 33.0 中工作,但在 Chrome 版本 38 中不起作用。在 chrome 中,td 相对于 table 而不是 tr 定位。
请检查 jsfiddle:http://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;
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10355 次 |
| 最近记录: |