Jump to content
  • 0

Как сверстать такое меню?


MiHALbI4
 Share

Question

Необходимо сверстать следующее меню:

f8cb6f15fcdb.jpg

Меню динамическое для cms, т.е. статично его не сверстать. На картинке просто пример. Необходимо, если следующий пункт меню уже не влезает в заданную ширину, то он должен переехать на следующую строку ( как на картинке). Притом все пункты на одной строке должны быть выровнены по центру. Как такое реализовать? Я каждый пункт меню положил в div и приписал float: left. Они переносятся как надо, но не знаю как выровнять строку с пунктами по центру.

Edited by MiHALbI4
Link to comment
Share on other sites

Recommended Posts

  • 0

пажалуфста:

<!DOCTYPE html>
<html>
<head>
<title>проверим-ка</title>
<style type="text/css">
body {
background: #efe9dd;
}
nav ul {
text-align: center;
}
nav li {
display: inline;
}
nav li a {
display: inline-block;
color: #633;
background: #d0c1ae;
-webkit-border-radius: 2px;
padding: 0.5em 1em;
margin: 0.5em;
white-space: nowrap;
}
nav li a:hover {
background: -webkit-gradient(linear,0 50%,0 100%,from(#a40e0d),to(#710a0b));
color: #fff;
}
</style>
</head>
<body>
<nav>
<ul>
<li><a href="/">текст</a></li>
<li><a href="/">ещё текст</a></li>
<li><a href="/">и тут текст</a></li>
<li><a href="/">опять текст</a></li>
<li><a href="/">какой-то текст</a></li>
<li><a href="/">а тут может быть даже и большой текст</a></li>
<li><a href="/">просто текст</a></li>
<li><a href="/">ну и ещё текст</a></li>
</ul>
</nav>
</body>
</html>

97c12baf1e0dt.jpg

:)

за кроссбраузерность извиняйте, но доделывается несложно.

Edited by swetlana
Link to comment
Share on other sites

  • 0

В общем осталась только одна проблема - боковые картинки не хотят показываться в ie6, а так все идеально как и планировалось. Вот, выдрал меню из дизайна: http://rghost.ru/2300400. Помогите заставить боковые картинки показываться в шестом осле... :)

ЗЫ

На скрипт не обращайте внимания - просто так надо в дальнейшем.

Edited by MiHALbI4
Link to comment
Share on other sites

  • 0

Михалыч, а есть такое красивое модное слово как graceful degradation.

Или как? Совсем не?

Может я что не так делаю, но в скачанном архиве у меня только три картинки, не сильно связанные между собой.

Link to comment
Share on other sites

  • 0

<!DOCTYPE html>
<html>
<head>
<title>проверим-ка</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<style>
body {
background: #efe9dd;
}
nav ul {
text-align: center;
}
nav li {
display: inline;
}
nav li a {
display: inline-block;
color: #633;
background: #d0c1ae;
-webkit-border-radius: 2px;
padding: 0.5em 1em;
margin: 0.5em;
white-space: nowrap;
}
nav li a:hover {
background: #a40e0d -webkit-gradient(linear,0 50%,0 100%,from(#a40e0d),to(#710a0b));
color: #fff;
}
</style>
<!--[if IE]>
<script>
document.createElement('nav');
</script>
<style>
nav li a:hover {
filter: progid:DXImageTransform.Microsoft.gradient(enabled='true', startColorstr='#a40e0d', endColorstr='#710a0b', GradientType=0);
}
</style>
<![endif]-->
</head>
<body>
<nav>
<ul>
<li><a href="/">текст</a></li>
<li><a href="/">ещё текст</a></li>
<li><a href="/">и тут текст</a></li>
<li><a href="/">опять текст</a></li>
<li><a href="/">какой-то текст</a></li>
<li><a href="/">а тут может быть даже и большой текст</a></li>
<li><a href="/">просто текст</a></li>
<li><a href="/">ну и ещё текст</a></li>
</ul>
</nav>
</body>
</html>

ну вот и в ие работает.

55a548521438t.jpg

Только вот прямого способа сделать закруглённые углы в ие не знаю.

Link to comment
Share on other sites

  • 0

npofopr, ну это же некрасиво!

Там аж целых две картинки, притом расчёт на строго определённый однородный фон.

Затем display: block; как при таком выравнять по центру?

Сомнительный какой-то способ.

Link to comment
Share on other sites

  • 0

почему картинки однородные? в том то и дело, что градиент можно сделать.

ну блок. можно еще в див обернуть)

а вообще, всегда углы делаю скриптом

http://dillerdesign.com/experiment/DD_roundies/

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