Jump to content
  • 0

Проблема с "display: block" при разметке в XHTML


manny
 Share

Question

Привет всем!

Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css">
#menu {
font-size: 13px;
}
#menu a {
display: block;
float: left;
height: 32px;
border: 1 solid gray;
padding: 0 10 0 10;
line-height: 32px;
background-color: lightgray;
}
#menu a:link, #menu a:visited, #menu a:hover {
color: black;
text-decoration: none;
}
</style>
</head>
<body>
<div id="menu">
<a href="item1.html">Item_1</a>
<a href="item2.html">Item_2</a>
</div>
</body>
</html>

Проблема:

Если рендерить код как обычный HTML, ссылки отображаются как горизонтально расположенные блоки с рамками и padding-отступами (что, собственно, и требуется). Если указать, что все это XHTML 1.1 (как в приведенном примере), то блоки отображаются без рамок и отступов.

В чем проблема?

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

1) "display: block" и "float: left" - вещи несовместимые... Уберите последнее - и получите горизонтальные блоки.

2) У меня что по HTML 4.01, что по xHTML 1.1 - результат данного кода выдается одинаковым - с рамками и отступами (в Opera).

3) Где тег title? Без этого документ валидацию не пройдет... :P

4) Указывайте у размеров px...

Вот, поигрался чуток с вашим кодом... :) Заодно кроссбраузерность наладил:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.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">
#menu {
font-size: 13px;
}
#menu a {
display: block;
height: 32px;
border: 10px solid #666;
padding: 0 10px 0 10px;
line-height: 32px;
background-color: #ccc;
color: #000;
text-decoration: none;
}
</style>
</head>
<body>
<div id="menu">
<a href="item1.html">Item_1</a>
<a href="item2.html">Item_2</a>
</div>
</body>
</html>

Link to comment
Share on other sites

  • 0
Вот, поигрался чуток с вашим кодом... :P Заодно кроссбраузерность наладил

хех ... в 6-ом осле пустая страница! :)

Это у меня одного? ...

Вставил в редактор код, посмотрел, страница голая в IE6 ..., открыл в Опере, и Мозиле все нормально показывает!

в IE6 решил просмотреть исходный код ... скопировал, вставил в редактор, все показывает, беру с примера, нихрена, ... во дела ... :/

Link to comment
Share on other sites

  • 0

Хм... действительно... :) Ну, когда я это постил - оно работало... Потом мне приспичило оптимизацией заняться - редактировал прямо в сообщении формуа, без проверки - видимо, напутал что-то... :P

Link to comment
Share on other sites

  • 0

ARA, вот кодировку править не стоит - вдруг автор делает сайт для буржуйчиков - в США, например, не очень любят русских... Потому если они увидят хоть один намек на нас (в т.ч. кодировка) - то сайт тут же заклеймят... А то если исправить кодировку на русскую - то вдруг потом забудет ее поменять... :)

PS: говорю по личному опыту - сам сталкивался с заказчиком, который делал букмекерский сайт для американцев.

Link to comment
Share on other sites

  • 0

Антон, thanx! Несмотря на то, что я криво описал свою проблему (мне были нужны блоки, следующие друг за другом _по_горизонтали_), твой пост помог. Проблема отображения была связана с тем, что я не указывал "px" в значениях padding и border. Впредь с XHTML буду внимательнее (привык клепать HTMLки на скорую руку). Еще раз спасибо.

Link to comment
Share on other sites

  • 0
Проблема:

Если рендерить код как обычный HTML, ссылки отображаются как горизонтально расположенные блоки с рамками и padding-отступами (что, собственно, и требуется). Если указать, что все это XHTML 1.1 (как в приведенном примере), то блоки отображаются без рамок и отступов.

В чем проблема?

Воспользуйся XHTML 1.0 Strict. XHTML 1.1 - это фигня, так как его не поддерживает любой из IE. И не смотри на валидацию, так как в XHTML 1.1 объявления в самом начале является обязательным.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 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