HTML/CSS - Замороженный стол Столбец справа
Я нашел решение для фиксированного/замороженного левого столбца здесь: http://jsfiddle.net/emn13/YMvk9/
body { font:16px Calibri;}
table { border-collapse:separate; border-top: 3px solid grey; }
td {
margin:0;
border:3px solid grey;
border-top-width:0px;
white-space:nowrap;
}
div {
width: 600px;
overflow-x:scroll;
margin-left:5em;
overflow-y:visible;
padding-bottom:1px;
}
.headcol {
position:absolute;
width:5em;
left:0;
top:auto;
border-right: 0px none black;
border-top-width:3px; /*only relevant for first row*/
margin-top:-3px; /*compensate for top border*/
}
.headcol:before {content: 'Row ';}
.long { background:yellow; letter-spacing:1em; }
Но также возможно получить фиксированный/замороженный столбец справа без Javascript или другой таблицы наложения?
Ответы
Ответ 1
Измените css, как показано ниже
div {
width: auto;
overflow-x:scroll;
margin-right:5em;
overflow-y:visible;
padding-bottom:1px;
}
.headcol {
position:absolute;
width:5em;
right:0;
top:auto;
border-right: 0px none black;
border-top-width:3px; /*only relevant for first row*/
margin-top:-3px; /*compensate for top border*/
}
.headcol:after{content: 'Row ';}
DEMO
Ответ 2
Это то, что вы ищете? Я сделал это только для одного rwo. Вы можете добавить столько строк, сколько хотите. Проверьте следующий HTML и стиль.
<div><table>
<tr><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td>
<td class="headcol">1</td></tr>
</table></div>
body { font:16px Calibri;}
table { border-collapse:separate; border-top: 3px solid grey; }
td {
margin:0;
border:3px solid grey;
border-top-width:0px;
white-space:nowrap;
}
div {
width: 600px;
overflow-x:scroll;
overflow-y:visible;
padding-bottom:1px;
}
.headcol {
position:absolute;
width:5em;
right:0;
top:auto;
border-right: 0px none black;
border-top-width:3px; /*only relevant for first row*/
margin-top:-3px; /*compensate for top border*/
}
.headcol:before {content: 'Row ';}
.long { background:yellow; letter-spacing:1em; }