Таблица 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;
   }
 }
