2011-01-30 2 views
21

Я только что заметил что-то смешное. Скажем, у меня есть список HTML:Переполнение CSS: скрытые скрытые пули списка?

<ol> 
    <li>Lorem</li> 
    <li>ipsum</li> 
    <li>dolor</li> 
    <li>sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies. Curabitur et ligula.</li> 
</ol> 

И это CSS:

li { 
    white-space: nowrap; 
    overflow: hidden; 
} 

Длинный текст в последнем пункте, действительно отрублены, когда он уходит ширина контейнера, как ожидалось. НО! На номера позиций списка влияет также свойство overflow и не отображаются.

Однако, изменяя CSS, как это:

ol { 
    overflow: hidden; 
} 
li { 
    white-space: nowrap; 
} 

работы по назначению (текст не будет выходить из контейнера, но элементы списка показаны). По крайней мере, все это верно для Firefox 4 beta10.

Вам не кажется, что нумерация затронута overflow немного нелогична? Почему это произойдет? Это намеренное поведение? Это в спецификации, или это просто какая-то странность, с которой кто-то забыл разобраться?

+0

это все 4 бета-версии? Или вы тестировали другие браузеры? –

+0

Нет, я не тестировал, потому что мне все равно не нужно это исправлять (установка 'overflow' на' ol' делает трюк, мне просто любопытно) – mingos

ответ

34

Это поведение по умолчанию, насколько I'm известно, если list-position является outside, пули с ul и номера с ol don't шоу. По крайней мере, в Firefox я помню это раньше в старых версиях.

+12

Aha! Неплохо! Я просто проверил это, и действительно, 'list-style-position: inside' заставляет пули появляться внутри' li', и они больше не подвержены «переполнению». Я подозревал что-то подобное, но не был уверен. Спасибо. – mingos

0

Я видел, как мои пули/номера обрезаются, когда на левой стороне ul нет достаточного количества прокладок. Попробуйте добавить немного и посмотрите, поможет ли это.

+0

Не совсем. В моем конкретном случае есть 40px отступов. Пули полностью находятся внутри прокладки «ol». Я думаю, что это больше связано с каким-то странным поведением элементов 'li' (я думаю, что их пули выдаются за пределы фактического' li') ... Я только что ответил на мой вопрос? – mingos

+0

Вид. Проверьте список-стиль-позиция –

1

Браузеры добавляют маржу по умолчанию и отступы в списки. Сначала попробуйте использовать reset.css, чтобы удалить стили по умолчанию, чтобы вы могли начать чистую и свежую работу без неожиданного поведения. Сделайте поиск сброса Эрика Мейера. Надеюсь, поможет.

+0

Я использую сброс уже, но спасибо тем не менее :). – mingos

Смежные вопросы