Пролет может быть div, но div не может быть пролетом

Мне интересно, является ли это (мой заголовок) некорректным, за исключением проверки HTML. Недавно мне пришлось снова начать поддерживать IE7 (мне повезло, что мне не нужно было последние 3 года или около того), и тот факт, что div не может быть inline-block, получил мне примерно 10 раз в прошлом месяц из-за того, что я делаю все div по умолчанию, а затем возвращаюсь и стилизую элементы. Поэтому я рассматриваю возможность создания всего диапазона, чтобы, если позже я вернусь и сделаю что-то встроенный блок, я не пытаюсь понять, почему он не работает в IE7.

Поэтому мой вопрос: есть ли когда-либо случай в любом браузере (IE7+, FF, Webkit, Opera), что кто-нибудь знает, где пролет не может действовать как div? Я не беспокоюсь о том, что HTML не проверяется из-за наличия блочных элементов внутри встроенных.

Ответ 1

Я не буду прямо отвечать на ваш вопрос, но я думаю, что это стоит сказать.

Недавно мне пришлось снова начать поддерживать IE7 (мне повезло, что мне не нужно было последние 3 года или около того), и тот факт, что div не может быть встроенным блоком, получил мне примерно 10 раз в прошлом месяц

Вы можете использовать display: inline-block в IE7 для элементов блочного уровня, таких как div s, с:

selector {
    display: inline-block;
    *display: inline;
    zoom: 1
}

Если вы не хотите использовать недопустимое, но безопасное *property CSS hack (*property), вы можете использовать условные комментарии.