Jump to content
  • 0

В?рстка меню слоями


Storm
 Share

Question

Всем доброго времени суток.

С использованием таблицы эта задача решается очень просто, интересно можно ли е? решить также просто без использования таблиц.

Задача состоит в создании меню со следующими условиями:

1. ширина пунктов в явном виде не зада?тся;

2. меню должно плавать по центру родительского контейнера;

3. каждый пункт меню должен заключаться в отдельный контейнер, в котором можно будет задать отступы текста от его кра?в.

Если изложил не понятно, прилагаю код решения с применением таблицы:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title></title>
<style type="text/css">
/*<![CDATA[*/
body {margin:0;padding:0;}
table {margin:0 auto;}
td {background:gray;padding:0 10px;}
/*]]>*/
</style>
</head>

<body>
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>menu item 1</td>
<td>menu item 2</td>
<td>menu item 3</td>
</tr>
</table>
</div>
</body>
</html>

Link to comment
Share on other sites

Recommended Posts

  • 0
Может быть получится развить решение В. Токмакова?

Развиваю это решение.

Вот что получается.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<style type="text/css">
/*<![CDATA[*/
body {margin:0;padding:0;}
.align_center {position:relative;z-index:1;width:800px;background:green;}
.align_center_to_left {position:relative;right:50%;float:right;}
.align_center_to_right {position:relative;right:-50%;z-index:2;background:gray;}
.align_center_to_right div {background:blue;}
/*]]>*/
</style>
</head>

<body>
<div class="align_center">
<div class="align_center_to_left">
<div class="align_center_to_right">
<div>menu 1</div>
<div> </div>
<div>menu 2</div>
<div> </div>
<div>menu 3</div>
<div> </div>
<div>menu 4</div>
<div style="clear:both;"></div>
</div>
</div>
<div style="clear:both;"></div>
</div>
</body>
</html>

Теперь проблема в следующем: элементы меню (.align_center_to_right div) нужно выстроить по горизонтали.

Если пишу элементам float:left, то в ИЕ6 весь блок меню съезжает левее так, что его правый край совпадает с центральной линией .align_center.

Можно бы было задавать элементам меню display:inline, но тогда (что логично) нельзя будет задавать высоту самого блока с пунктом меню.

Наверное нет простого решения этой задачи. Если наращивать этот код, то табличный вариант останется оптимальнее.

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