Jump to content
  • 0

Отступы в списке


Vlad
 Share

Question

Есть следующий список. В IE7 между пунктами наблюдается небольшой промежуток, в остальных браузерах его нет. Как убрать знаю, но не могу понять, откуда он берется. Что скажете?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Меню</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
LI {
list-style: none; /* Убираем маркеры */
border: 1px solid #CCC; /* Рамка вокруг пунктов меню */
width: 200px; /* Ширина меню */
}
A {
display: block; /* Ссылка как блочный элемент */
padding: 5px; /* Поля вокруг надписи */
text-decoration: none; /* Убираем подчеркивание у ссылок */
color: #666; /* Цвет текста */
}
</style>
</head>
<body>
<ul>
<li><a href="linkcl.html">Cyп-харчо</a></li>
<li><a href="linkc2.html">Лилибдж</a></li>
<li><a href="linkc3.html">Чихиртма</a></li>
<li><a href="linkc4.html">Шашлык</a></li>
</ul>
</body>
</html>

Link to comment
Share on other sites

Recommended Posts

  • 0
Есть следующий список. В IE7 между пунктами наблюдается небольшой промежуток, в остальных браузерах его нет. Как убрать знаю, но не могу понять, откуда он берется. Что скажете?

Ээээ... это точно не шутка или какой-то странный розыгрыш для новичков?

Капитан-Очевидность заявляет! li — это строчный элемент, и как любой другой строчный элемент он офорпляется по тем же правилам по которым оформляется и обычный текст, по сути любой строчный элемент это как одна буква или один символ. По сути <li>a</li><li>a</li><li>a</li> это тот же <span>a</span><span>a</span><span>a</span> только с некоторыми предустановленными стилями для li который браузер добавляет по умолчанию.

И как мы все знаем, любой символ табуляции, переноса строки, или пробел в любом количестве присутствующие в тексте — переводятся браузером в один символ пробела. То-есть если мы запишем <li>a</li>[табуляция]<li>a</li>[перенос строки]<li>a</li>[пять пробелов]<li>a</li> то браузер нам отрисует "a a a a" то есть все эти символы между элементами li он заменит на пробел.

Так что IE как бы его не ругали как раз правильно отображает такую разметку, другое дело почему другие браузеры плюют на табуляцию между элементами li? Я думаю по соображениям красивого кода =) иногда ведь приходится писать очень длинные списки...

Edited by deadrash
Link to comment
Share on other sites

  • 0
И как мы все знаем, любой символ табуляции, переноса строки, или пробел в любом количестве присутствующие в тексте — переводятся браузером в один символ пробела.

Во я же говорил что связано с переносом строки. т.к. вне элементов ли перенос строки получается строчным.

Link to comment
Share on other sites

  • 0
вне элементов ли перенос строки получается строчным.

Проблема, возможно, еще и в том, что в IE7- (и только там) перенос строки получается не вне элементов li, а внутри (старые IE тупо игнорируют закрывающие теги для элементов списков). Видимо, получается блок внутри строки, который IE, как обычно в подобных ситуациях, неявно преобразует в инлайновый блок (аналогично ситуации с картинкой в блоке с пробелами).

Хорошая статья по этой проблеме (и ее разновидностям) есть на cssing.org.ua.

Link to comment
Share on other sites

  • 0
Проблема, возможно, еще и в том, что в IE7- (и только там) перенос строки получается не вне элементов li, а внутри (старые IE тупо игнорируют закрывающие теги для элементов списков). Видимо, получается блок внутри строки, который IE, как обычно в подобных ситуациях, неявно преобразует в инлайновый блок (аналогично ситуации с картинкой в блоке с пробелами).

Хорошая статья по этой проблеме (и ее разновидностям) есть на cssing.org.ua.

Спасибо за подборочку.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy