Таблица CSS и максимальная ширина в Chrome не работают
Это мой код CSS;
#wrap {
width:50em;
max-width: 94%;
margin: 0 auto;
background-color:#fff;
}
#head {
width:50em;
height:10em;
max-width: 100%;
margin: 0 auto;
text-align:center;
position: relative;
}
#css-table {
display: table;
margin: 1em auto;
position: relative;
width:50em;
max-width: 100%;
}
#css-table .col {
display: table-cell;
width: 20em;
padding: 0px;
margin: 0 auto;
}
#css-table .col:nth-child(even) {
background: #fff;
}
#css-table .col:nth-child(odd) {
background: #fff;
border-right: 4px double #b5b5b5;
}
и мой HTML код;
<div id="cont">
<div id="css-table">
<div class="col">123</div>
<div class="col">123</div>
</div>
</div>
когда я масштабирую окно Firefox, таблица отлично масштабируется даже до 300px width viewport...как я и хотел. Но в Chrome таблица выглядит нормально только тогда, когда окно просмотра шире 50em. Если я сужу хромированное окно, стол кровоточит с правой стороны обертки.
есть ли причина, почему Chrome делает это?
4 ответов
создайте div и дайте ему стиль для отображения блока и максимальной ширины. Вы можете использовать традиционный <table>
и дайте ему стиль 100% ширины.
технически Chrome следует правилам, потому что max-width должен применяться только к элементам блока.
из документов MSDN:
атрибуты min-width/max-width применяются к плавающему и абсолютно расположенного блока и инлайн-блочные элементы, а также некоторые внутренние контроли. Они не применяются к не заменяемым встроенным элементам, таким как строки таблицы и группы строк/столбцов. ("Замененный" элемент имеет внутренний размеры, такие как img или textArea.)
таблица (или в вашем случае дисплей:таблица) технически не должна работать или поддерживаться. FF, по-видимому, подчиняется ему отлично, но вам, вероятно, нужно будет придумать другое решение, либо удалив дисплей:таблица или Макс-ширина.
я смог использовать mixin (SASS) для устранения проблемы.
@mixin clearfix {
&::after{
content: "";
display: table;
clear: both;
}
}