i have a div
with with property
<div id="_body_container" style="height: 500px; overflow-x: auto; overflow-y: auto; ">
</div>`
inside this div i have the table
which has class views-table
, this table has 100% width which makes it's parent div:_body_container
scrollable.I want to fix the first and the second column of this table sticky at their positions while the left and right scroll event happen for _body_container
structure is like:
i have a div
with with property
<div id="_body_container" style="height: 500px; overflow-x: auto; overflow-y: auto; ">
</div>`
inside this div i have the table
which has class views-table
, this table has 100% width which makes it's parent div:_body_container
scrollable.I want to fix the first and the second column of this table sticky at their positions while the left and right scroll event happen for _body_container
structure is like:
Share Improve this question edited Jul 28, 2017 at 17:04 Brian Tompsett - 汤莱恩 5,88372 gold badges61 silver badges133 bronze badges asked Oct 7, 2011 at 7:12 PunitPunit 1,1201 gold badge8 silver badges15 bronze badges 1- possible duplicate of HTML table with fixed headers and a fixed column? – Anuraj Commented Oct 7, 2011 at 7:45
2 Answers
Reset to default 15Assuming each section is a <td>
element...
CSS
table {
position: relative;
padding-left: (width-of-your-td-elements);
}
table td:first-of-type {
position: absolute;
left: 0;
}
Try that out. It's late and I'm drunk, so I'm not entirely sure on this. Oh, and keep in mind this is using CSS3, which isn't supported in <= IE8.
If this works, you could just add position:absolute; left:0;
to a class
and target the first element that way.
@vonkly is almost right about position:absolute
. But you don't have to set left:0
. With left:auto
, you can spare position:relative
too.
table {
padding-left: (width-of-your-td-elements);
}
table td:first-of-type {
position: absolute;
}