Подтвердить что ты не робот

Как заставить IE поддерживать свойства минимальной ширины/максимальной ширины CSS?

Являются ли эти свойства не стандартными CSS?

Я использую что-то вроде этого, которое работает правильно на Chrome 12, FF4, Opera 11 и Safari 5, но в IE9 минимальная ширина не соблюдается, если width < min-width.

<span style="float:left; width:11%; min-width:150px;">
    ...
</span>

Edit: немного раздражает либеральное редактирование и миграция моего вопроса, но w/e. Вот более полный пример, который показывает явное различие в IE9 и других браузерах.

<html><body>
<p style="width: 600px">
<span style="float: left; width: 11%; min-width: 150px">Hello.</span>
<span style="float: left; width: 11%">World.</span>
</p>
</body></html>

Изменить 2: Как отмечено в комментарии Кевина ниже, добавление <!DOCTYPE html> в начало решает проблему IE.

4b9b3361

Ответ 1

Если вы говорите правду, IE9 будет отклонять форму спецификацию. Однако я не могу повторить вашу жалобу. Используя ваш пример, IE9 уважает min-width, если width меньше 150px за этот jsfiddle.

EDIT:

ПРИМЕЧАНИЕ. Режим Quirks соответствует различным правилам и не соответствует стандартным CSS в любом браузере. Если вы добавите doctype на страницу, это должно решить проблему (add: <!DOCTYPE html>).

Чтобы расширить эту проблему, режим Quirks не стандартизирован. Есть некоторые вещи, которые реализует большинство браузеров, но новые функции undefined в этих стандартах defacto. Таким образом, некоторые браузеры позволяют использовать новый CSS (как вы заметили), но IE9 игнорирует новые значения css, поскольку им нет места в режиме Quirks.

Ответ 2

Я обнаружил, что <!DOCTYPE html> недостаточно - мне пришлось идти строго:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Ответ 3

Попробуйте выполнить следующий код:

#limit-size
{
min-width: 998px;
width: expression(this.width < 998 ? 998: true);
min-height: 250px;
height: expression(this.height < 250 ? 250: true);
}

//html:
<div id="limit-size"></div>