Hello everyone, I am making another navigation bar and encounter the following problems
The web navigation of the target website is like this:
After I layout it using DIV CSS , the style is like this. From the picture below, you can see that the text spacing of the navigation is obviously much larger than that of the target website.
If you adjust the width smaller but still can’t fit it, as shown in the picture
The following is the HTML part
<div class="maindiv"> <div class="head"> <div class="menu"> <ul> <li>home</li> <li>SPECIALS</li> <li>ALL PRODUCTS</li> <li>CONTACT US</li> <li>ABOUT</li> <li>BACK TO TUTORIAL</li> </ul> </div> <div></div> <div></div> </div> </div></body>
body{ background:url(../images/body-bg.jpg) fixed}.maindiv{ width:1000px; height:1200px; margin:0 auto}.head{ width:1000px; height:210px; margin:25px auto 0px} .menu{ width:1000px; height:30px; background:#060; color:#FFF; text-align:left} .menu ul { width:1000px; height:30px;} .menu ul li{font-size:11px; line-height:35px; text-transform:uppercase; text-align:left; width:100px; font-weight:bolder; float:left; list-style:none;}
.maindiv { width: 1000px; height: 1200px; margin: 0 auto } .head { width: 1000px; height: 210px; margin: 25px auto 0px } .menu { width: 1000px; height: 30px; background: #060; color: #FFF; text-align: left } .menu ul { width: 1000px; /*height: 30px;*/ padding-left:0; overflow:hidden; } .menu ul li { font-size: 11px; line-height: 30px; text-transform: uppercase; text-align: left; /*width: 100px;*/ font-weight: bolder; float: left; list-style: none; } .menu ul li a{ text-decoration:none; color:#ffffff; padding: 10px 15px; } .homeSpecail{ padding-left:0; background-color:#333333; }
<body> <div class="maindiv"> <div class="head"> <div class="menu"> <ul> <li class="homeSpecail"> <a href="#">home</a> </li> <li> <a href="#">SPECIALS</a> </li> <li> <a href="#">ALL PRODUCTS</a> </li> <li> <a href="#">CONTACT US</a> </li> <li> <a href="#">ABOUT</a> </li> <li> <a href="#">BACK TO TUTORIAL</a> </li> </ul> </div> <div></div> <div></div> </div> </div> </body>
You should be able to see from the target image that
The width of the menu is not equal
The spacing of the menu is the same
Then it proves that the width is auto to let the content support it
spacing? Both padding and margin can be set, but padding will not overlap and margin will overlap
From the picture above, it can be seen that padding should be used because the spacing on the left is smaller than the spacing inside and seems to be half the size
.maindiv { width: 1000px; height: 1200px; margin: 0 auto } .head { width: 1000px; height: 210px; margin: 25px auto 0px } .menu { width: 1000px; height: 30px; background: #060; color: #FFF; text-align: left } .menu ul { width: 1000px; /*height: 30px;*/ padding-left:0; overflow:hidden; } .menu ul li { font-size: 11px; line-height: 30px; text-transform: uppercase; text-align: left; /*width: 100px;*/ font-weight: bolder; float: left; list-style: none; } .menu ul li a{ text-decoration:none; color:#ffffff; padding: 10px 15px; } .homeSpecail{ padding-left:0; background-color:#333333; }
<body> <div class="maindiv"> <div class="head"> <div class="menu"> <ul> <li class="homeSpecail"> <a href="#">home</a> </li> <li> <a href="#">SPECIALS</a> </li> <li> <a href="#">ALL PRODUCTS</a> </li> <li> <a href="#">CONTACT US</a> </li> <li> <a href="#">ABOUT</a> </li> <li> <a href="#">BACK TO TUTORIAL</a> </li> </ul> </div> <div></div> <div></div> </div> </div> </body>
Well, you’re welcome...
letter-spacing