【发布时间】:2019-06-28 08:06:26
【问题描述】:
我想让position: fixed div 的宽度(因为我希望它能够独立于页面滚动)等于其父级(td 元素)的宽度。
但是我似乎无法做到这一点。我当前的代码是:
html:
<table style="width: 90%; border: 1px solid black;">
<tr>
<td id='tdLeft'>
fdsfsdfsd<br><br><br><br><br><br><br><br><br>
fdsfsdfsd<br><br><br><br><br><br><br><br><br>
fdsfsdfsd<br><br><br><br><br><br><br><br><br>
fdsfsdfsd<br><br><br><br><br><br><br><br><br>
fdsfsdfsd<br><br><br><br><br><br><br><br><br>
</td>
<td id='tdRight'>
fdsfsd
<br>
rfeoif jerofj eriof
<div id='divFixed'>
hahaha, fdsfsd, fsdfsd, fdsfds, fdsfaaasd, fdfsdss,
hahaha, fdsfsd, fsdfsd, fdsfds, fdsfsd, fdfsd,
hahaha, fdsfsd, fsdfsd, fdsfds, fdsfsd, fdfsd
</div>
</td>
</tr>
</table>
css:
#tdLeft, #tdRight {
margin: 0;
padding: 0;
border-spacing: 0px;
border-collapse: collapse;
vertical-align: top;
}
#tdLeft {
position: relative;
width: 40%;
}
#tdRight {
position: relative;
width: 60%;
background-color: green;
}
#divFixed {
position: fixed;
border: 1px solid black;
top: 100px;
width: inherit;
}
所以小黑盒子应该和绿色的td元素一样宽。
jsfiddle:https://jsfiddle.net/jpovqd4u/2/
position: sticky 位置无法正常工作(宽度正确),但由于顶部有更多的 div 包装层,它不会保持粘性,而且由于浏览器兼容性不佳,它也不可取。
【问题讨论】:
标签: html css width css-position sticky