как говорили другие, это хак для IE7 и ниже
НО этот пример, который вы привели, является конкретным взломом, поэтому, в отличие от полученного вами комментария, я бы не рекомендовал его удалять.. вы можете переместить его или удалить после того, как прочитаете это и не надо ;)
Кстати, я согласен, что -moz-inline-box, вероятно, больше не нужен, он был для более старых версий Firefox.
selector {
display: -moz-inline-box;
display: inline-block;
zoom: 1;
*display: inline;
}
Это особый способ заставить IE6/7 отображать элемент блочного уровня как встроенный блок. Хотя IE поддерживает inline-block начиная с версии 5.5, он изначально не поддерживает блочные элементы.
Итак, в этом случае вам нужно дать элементу «макет» (zoom: 1;) и после этого передать его display: inline.
Теперь display:inline-block также дает макет элемента, поэтому, если вы удалите правило display-inline в отдельный набор правил (либо в условном, либо в взломанном правиле), вам больше не придется использовать zoom: 1;
Мой предпочтительный хак для этого (для демонстрационных целей) и потому, что встроенные блоки настолько полезны, и потому что он короче
selector {
display: inline-block;
}
selector {
display: inline !ie7;
}
что !ie7 делает то же самое, что и * перед свойством display, он передает это правило в IE7 и ниже - вы можете использовать версию * и во втором правиле, однако !ie7 ясно дает понять, для меня в любом случае это хак, и для кого это.
Если у вас есть определенная условная таблица стилей для IE7 и ниже, вы можете просто поместить в нее второе правило - без каких-либо * или ie7 ;)
selector {
display: inline;
}
потому что IE по-прежнему будет читать первый набор правил и активировать его hasLayout на true с помощью inline-block там, вам не нужен zoom
упомянутый вами хак популярен, потому что он сохраняет все части в одном наборе правил, но в этом случае требуется zoom:1, поскольку inline-block не будет работать для установки hasLayout, если он находится в том же наборе правил, что и другое свойство display
person
clairesuzy
schedule
13.04.2011