Должны ли мы использовать переполнение: скрытое и отображение: встроенное? - PullRequest
0 голосов
/ 29 мая 2010

Для плавающих элементов мы должны всегда определять display:inline вместе с overflow:hidden, когда очищаем float с помощью overflow:hidden?

это хорошо для совместимости с IE? мы всегда должны следовать?

#secondary-col {
float:left;
overflow:hidden;
display:inline;

}

Ответы [ 2 ]

1 голос
/ 02 июня 2010

display: inline - это исправление для IE6, предотвращающее ошибку с двумя полями. Если вы когда-нибудь что-нибудь выпустите, это хорошая идея, чтобы включить это Если у вас есть специфичная для IE таблица стилей, то лучше ее сохранить (иначе это бесполезное свойство).

overflow: hidden - это метод, используемый для того, чтобы элемент, содержащий плавающие элементы, занимал всю высоту содержимого. Пример:

<div class="wrapper">
    <div class="floater">floating element</div>
</div>

Здесь высота оболочки будет равна 0, поскольку она содержит только плавающие элементы. Чтобы исправить это, вы добавляете одно из двух свойств в оболочку: overflow: hidden или float: left.

И то, и другое заставит обертку иметь правильную высоту, однако поплавок, очевидно, тоже поплавает элемент, чего вы, возможно, не хотите. Если обертка имеет фиксированную высоту, не используйте переполнение, поскольку текст может стать скрытым.

Так что, в принципе, вам не нужен overflow: hidden, если у вас уже есть float: left. Но вы можете оставить display: inline для IE6.

0 голосов
/ 29 мая 2010

Я обычно устанавливаю display:inline; для плавающих элементов, особенно li для горизонтальных навигационных элементов.В старых версиях IE, как правило, возникают странные вещи с полями.Что касается переполнения, то обычно оно используется в родительском контейнере для очистки поплавков, если у вас нет соседних элементов, к которым вы можете применить clear.Следует ли применять overflow:hidden также к дочерним элементам?Сейчас я не могу вспомнить, но это может помочь с более старыми версиями IE, расширяющими границы родительского контейнера, когда дочерние элементы слишком велики.(Правильное поведение требует, чтобы они высыпали из своего контейнера.) В любом случае, IE всегда потребуется немного доработать, чтобы получить права.:)

...