Я хочу, чтобы ширина элемента 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
не работает должным образом (ширина верна), но она не остается липкой из-за большего количества слоев оберточных элементов сверху иэто также нежелательно из-за слабой совместимости браузера.