Почему делают Firefox и Opera игнорируют макс. ширину в дисплее: ячейка таблицы?

Следующий код отображается правильно в Chrome, или IE (изображение 200 пкс шириной). В Firefox и Opera max-width стиль проигнорирован полностью. Почему это происходит и является там хорошей работой вокруг? Кроме того, какой путь большинство стандартов совместим?

Примечание:

Одна возможная работа вокруг для этой конкретной ситуации должна установить max-width кому: 200px. Однако это - скорее изобретенный пример. Я ищу стратегию контейнера переменной ширины.




    


    

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec facilisis ante, facilisis posuere ligula feugiat ut. Fusce hendrerit vehicula congue. at ligula dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. leo metus, aliquam eget convallis eget, molestie at massa.

[Обновление]

Как указано mVChr ниже, спецификация w3.org указывает это max-width не относится inline элементы. Я попытался использовать div img { max-width: 100%; display: block; }, но это, кажется, не исправляет проблему.

[Обновление]

У меня все еще нет решения для этой проблемы. Однако я использую следующий взлом JavaScript для решения моих проблем. По существу это воссоздает ситуацию выше и проверяет если поддержка браузера max-width в display: table-cell. (Используя данные uri предотвращает дополнительный запрос HTTP. Тот ниже 3x3 bmp.)

jQuery( function ( $ ) {

    var img = $( "" )
    .appendTo(
        $( "
" ) .appendTo( "body" ) ); $.support.tableCellMaxWidth = img.width() == 1; img.parent().remove(); });

67
задан Community 23 May 2017 в 12:02
поделиться

3 ответа

В спецификации w3.org указано, что максимальная ширина не применяется к встроенным элементам, поэтому вы получите несогласованное поведение в разных браузерах. Я не уверен в ожидаемом результате, но вы можете добиться его, если установите div img {display: block} , а затем выровняете img и p теги с плавающей точкой вместо стандартных встроенных.

31
ответ дан 24 November 2019 в 14:33
поделиться

добавьте float: left в div css

-1
ответ дан 24 November 2019 в 14:33
поделиться

Пробовали ли вы добавить свойство position к вашему изображению? img {position:relative;}? Оно должно соответствовать родительскому элементу.

-1
ответ дан 24 November 2019 в 14:33
поделиться