Я сделал один контейнер <div>
, а внутри него два <div>
: один - ширина 80%, а другой - 20% и должен быть position:fixed
.
По какой-то причине общая ширина контейнера <div>
больше, чем окно браузера.
как только я удаляю position:fixed
справа <div>
все в порядке, но мне нужно, чтобы <div>
был position:fixed
.
Вот мой код:
HTML
<div class="test">
<div class="leftSummary"></div>
<div class="rightTasks"></div>
</div>
CSS
.test {
width: 100%;
display: table;
}
.leftSummary {
width: 80%;
display: table-cell;
}
.rightTasks {
width: 20%;
min-width: 275px;
display: table-cell;
vertical-align: top;
position: fixed;
}
Здесь есть основная проблема. После того, как вы установили position: fixed
на .rightTasks
, свойство display вычисляется для block
вместо table-cell
.
Это изменит макет, и вам нужно переосмыслить свою разметку.
Ссылка: http://www.w3.org/TR/CSS2/visuren.html#dis-pos-flo
Кроме того, элементы с position: fixed
расположены относительно порта представления, а не элемент блока, который их содержит. Таким образом, ширина 20% относится к порт представления, а не к родителю .test
.
Если вы проверите элемент .rightTasks
, вы увидите, что ширина составляет 20% от ширины порта просмотра, а не 20% ширины таблицы. Если вы установите ширину таблицы на 50%, эффект станет более очевидным.
Вы не должны использовать min-width
.
РЕДАКТИРОВАТЬ
Если вы хотите использовать min-width
с position: fixed
, вы должны использовать top
и right
css. Если вы не хотите сталкиваться с проблемой, связанной с браузером, вы должны использовать reset.css