简体   繁体   English

CSS无法对齐<li>

[英]CSS Won't align <li>

I want to set list in header section but everytime I do, my home, about and blog goes out of background color or background color minimize. 我想在标题部分设置列表,但是每次我做的时候,我的家,关于和博客都超出了背景色或使背景色最小化。 I dont know how much you can understand me what i want to say if you want i can put picture where i want list to be. 我不知道你能理解我我想说什么,如果你想我可以把图片放在我想要的地方。

 header { background: #304852; color: #ffffff; border-bottom: #585858 3px solid; } header a { color: #ffffff; text-decoration: none; text-transform: uppercase; font-size: 40px; } header ul { margin: 0; padding: 0; } header li { float: left; display: inline; padding: 0 20px 0 20px; } header nav { float: right; } 
 <header> <div id="logo"> <img src="http://lorempixel.com/120/60/" width="120px" height="60px"> </div> <nav> <ul> <li><a href="C:\\Users\\Mihajlo\\Desktop\\retardirani mihajlo\\Web about">HOME</a></li> <li><a href="C:\\Users\\Mihajlo\\Desktop\\retardirani mihajlo\\Web about">ABOUT</a></li> <li> <a href="C:\\Users\\Mihajlo\\Desktop\\retardirani mihajlo\\Web about">BLOG</a></li> <li><a href="C:\\Users\\Mihajlo\\Desktop\\retardirani mihajlo\\Web about">CONTACT</a></li> </ul> </nav> </header> 

The best course of action would be to remove the float from your header li and header nav CSS selectors, and instead apply a simple text-align to header nav . 最好的做法是从header liheader nav CSS选择器中删除float ,然后将简单的text-align应用于header nav

See the attached code for reference. 请参阅随附的代码以供参考。

 header{ background: #304852; color: #ffffff; border-bottom: #585858 3px solid; } header a{ color: #ffffff; text-decoration: none; text-transform: uppercase; font-size: 40px; } header ul{ margin: 0; padding: 0; } header li{ /* float: left; */ display: inline-block; padding: 0 20px 0 20px; } header nav{ /* float: right; */ text-align: right; } 
 <header> <nav> <ul> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Blog</a></li> </ul> </nav> </header> 

Two changes necessary: 必须进行两项更改:

1.) float: left; 1.) float: left; on #logo , since other wise it's a block element and takes the whole width. #logo上, #logo ,它是一个block元素,并占据整个宽度。

2.) overflow: auto on header , since it then only contains floated elements and wouldn't keep the background color. 2.) overflow: autoheader overflow: auto ,因为它仅包含浮动元素,并且不保留背景颜色。

 header { background: #304852; color: #ffffff; border-bottom: #585858 3px solid; overflow: auto; } header a { color: #ffffff; text-decoration: none; text-transform: uppercase; font-size: 24px; } #logo { float: left; } header ul { margin: 0; padding: 0; } header li { float: left; display: inline; padding: 0 20px 0 20px; } header nav { float: right; } 
 <header> <div id="logo"> <img src="http://lorempixel.com/120/60/" width="120px" height="60px"> </div> <nav> <ul> <li><a href="C:\\Users\\Mihajlo\\Desktop\\retardirani mihajlo\\Web about">HOME</a></li> <li><a href="C:\\Users\\Mihajlo\\Desktop\\retardirani mihajlo\\Web about">ABOUT</a></li> <li> <a href="C:\\Users\\Mihajlo\\Desktop\\retardirani mihajlo\\Web about">BLOG</a></li> <li><a href="C:\\Users\\Mihajlo\\Desktop\\retardirani mihajlo\\Web about">CONTACT</a></li> </ul> </nav> </header> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM