Jump to content
  • 0

Горизонтальное меню


CroaToa
 Share

Question

Есть блок div с шириной 900px и с высотой 40px. В ней создан список li со ссылками внутри. 5 штук.

Как сделать что бы был отступ с левого и правого борта блока на 41px, а остальное растянулись исходя из этого? Да и как выравнить сами ссылки по центру блока? 

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Под какие браузеры нужна работоспособность?

Под любой, или хотя бы один))) Я учусь только.

 

display: table

или http://css-live.ru/articles-css/ravnomernoe-vyravnivanie-blokov-po-shirine.html

Еще смотря какой внешний вид нужен. Бывает надо, чтобы li были "неразрывные", тогда проще с display: table

Спасибо, сейчас попробую.  Так там прописывает класс каждому тегу li, я думал есть попроще вариант, дабы код не засорять излишними классами)

Мне всего лишь нужно вот это, ничего сверхсложного)) не знаю как выровнить по центру и что бы по бокам был 41px. Сам список в диве.

 

http://savepic.net/4505225.htm

Link to comment
Share on other sites

  • 0

Я окончательно голову сломал над этим. Сижу уже часа 4, не разбираю никак.. Прошу помощи.

HTML код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Главная Страница</title><link href="css/style.css" type="text/css" rel="stylesheet"></head><body>    <div class="wrapper">           <div class="header">International</div>  <div class="menu"> <ul>	<li> <a href="#">Home</a></li>	<li><a href="#">Portfolio</a></li>	<li><a href="#">Become a member</a></li>	<li><a href="#">Partners</a></li>	<li><a href="#">About us</a></li>    <li><a href="#">Contacts</a></li></ul> </div>                <div class="content"></div>                    <div class="footer"></div>            </div>	</body></html> 

 

 

и CSS 

@import url(reset.css);body {    margin: 0;    padding: 0;}.wrapper {    width:1024px;    height:680px;    outline: 1px solid #cc0000;    margin: auto auto;}.header {    height: 82px;    outline: 1px solid #000000;    font: 48px Mistral;    color: #afafaf;    padding-left: 52px;}.menu {    width:960px;    height: 42px;    outline: 1px solid #cc0000;    margin:0 auto;    padding:0;    background-color: #B0B0B0;    font: 18px Arial, sans-serif;    color:#ffffff;}.menu li a {    text-decoration: none;    color:#ffffff;}.menu li {    float: left;}.menu a:hover {    text-decoration: underline;}.content {    width: 808px;    height:497px;    outline: 1px solid #000000;    margin-left:32px;}.footer {    width: 960px;    height:59px ;    outline: 1px solid #cc0000;    margin: 0 auto;} 

 

Мне нужно именно такое расположение блока меню, по 33px отступов слева и справа (имеется ввиду оттуда где начинается и заканчивается фон), остальное растянуть исходя из этого.

Я тупик(

Link to comment
Share on other sites

  • 0

Как сказал выше npofopr с помощью dispay: table; для ul и display: table-cell; для li

http://jsfiddle.net/mrnobody/Ehg2q/

Фуллскрин — http://fiddle.jshell.net/mrnobody/Ehg2q/show/

 

Ну почти..Только вот отступы  Become a member явно больше чем у остальных

Вот так вам нужно? http://jsbin.com/UGEpIYa/1/watch?html,css,output

Завтра буду экспериментировать с этим.. Незнаю пока так или не так)) я фото прикрепил как должно выглядеть

Link to comment
Share on other sites

  • 0

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

 

html

<div class="menu"> <ul>	<div class="menu1"><li> <a href="#">Home</a></li></div>	<div class="menu2"><li><a href="#">Portfolio</a></li></div>	<div class="menu3"><li><a href="#">Become a member</a></li></div>	<div class="menu4"><li><a href="#">Partners</a></li></div>	<div class="menu5"><li><a href="#">About us</a></li></div>    <div class="menu6"><li><a href="#">Contacts</a></li></div></ul> </div> 

 

css

 

 

.menu {    width:960px;    height: 42px;    outline: 1px solid #cc0000;    margin:0 auto;    padding:0;    background-color: #B0B0B0;	position:relative;}.menu1 {position: absolute;left:41px;top:10px;list-style-type:none;}.menu2 {position: absolute;left:165px;top:10px;list-style-type:none;}.menu3 {position: absolute;left:313px;top:10px;list-style-type:none;}.menu4 {position: absolute;left:549px;top:10px;list-style-type:none;}.menu5 {position: absolute;left:699px;top:10px;list-style-type:none;}.menu6 {position: absolute;left:845px;top:10px;list-style-type:none;}.menu a {text-decoration:none;font: 18px Arial, sans-serif;color:#ffffff}.menu a:hover {    text-decoration: underline;} 
Link to comment
Share on other sites

  • 0

Вот так будет работать везде: http://codepen.io/GreatRash/pen/rtxlL

то что мне нужно! Значит дело в  таблицах)) Спасибо Вам большое! А то замучался с этими li )))

 

Да, дело не в только в таблицах, но  и в html5) буду знать)

Edited by CroaToa
Link to comment
Share on other sites

  • 0

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

 

html

<div class="menu"> <ul>	<div class="menu1"><li> <a href="#">Home</a></li></div>	<div class="menu2"><li><a href="#">Portfolio</a></li></div>	<div class="menu3"><li><a href="#">Become a member</a></li></div>	<div class="menu4"><li><a href="#">Partners</a></li></div>	<div class="menu5"><li><a href="#">About us</a></li></div>    <div class="menu6"><li><a href="#">Contacts</a></li></div></ul> </div> 

 

css

 

 

.menu {    width:960px;    height: 42px;    outline: 1px solid #cc0000;    margin:0 auto;    padding:0;    background-color: #B0B0B0;	position:relative;}.menu1 {position: absolute;left:41px;top:10px;list-style-type:none;}.menu2 {position: absolute;left:165px;top:10px;list-style-type:none;}.menu3 {position: absolute;left:313px;top:10px;list-style-type:none;}.menu4 {position: absolute;left:549px;top:10px;list-style-type:none;}.menu5 {position: absolute;left:699px;top:10px;list-style-type:none;}.menu6 {position: absolute;left:845px;top:10px;list-style-type:none;}.menu a {text-decoration:none;font: 18px Arial, sans-serif;color:#ffffff}.menu a:hover {    text-decoration: underline;} 

Неверное решение. в ul должны содержаться только li

  • Like 1
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