Следующий код отображается правильно в 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();
});
В спецификации w3.org указано, что максимальная ширина не применяется к встроенным элементам, поэтому вы получите несогласованное поведение в разных браузерах. Я не уверен в ожидаемом результате, но вы можете добиться его, если установите div img {display: block}
, а затем выровняете img
и p
теги с плавающей точкой вместо стандартных встроенных.
Пробовали ли вы добавить свойство position к вашему изображению? img {position:relative;}
? Оно должно соответствовать родительскому элементу.