我有一个导航,里面有十个项目,我想最大化它的长度,并平均设置项目之间的空格。
到目前为止,这就是我所做的。但是,如果菜单项的长度相等,那么它看起来不错,但我的不是。想法,有人吗?提前谢谢。
<nav class="menu">
<ul>
<li>Home</li>
<li>About Us</li>
<!-- eight more menu items -->
</ul>
</nav>
这是我的样式表。
.menu {
width: 100%;
}
.menu li {
display: inline-block;
width: 10%; /* since I have 10 items */
text-align: center;
}
答案 0 :(得分:1)
查看此codepen。
您需要将li
个项目浮动。
CSS:
.menu {
width: 100%;
}
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.menu ul li {
width: 8%;
text-align: center;
margin: 0% 1%;
float: left;
padding: 0;
}
跟踪总宽度(100%)非常重要。在总计中,每件商品应为10%(因为您有10件商品)。这意味着当您希望左侧和右侧的边距为1%时,您的li项目的宽度应为8%。
您的总宽度应始终为100%。否则,您的用户将能够水平滚动。
答案 1 :(得分:0)
在css文件中为li
添加保证金。
.menu li {
display: inline-block;
margin-left:1%;
width: 6%; /* since I have 10 items */
text-align: center;
}
或者使用@media
规则用于为不同的媒体类型/设备定义不同的样式规则
答案 2 :(得分:0)
使用现代的flexbox技术解决方案。无需设置任何width
或margin
。
检查浏览器兼容性表:Flexbox
使用CSS Prefixer支持部分旧版浏览器:
* {
margin: 0;
padding: 0;
}
.menu ul {
display: flex;
flex-direction: row nowrap;
justify-content: space-around;
}
.menu li {
list-style: none;
}
&#13;
<nav class="menu">
<ul>
<li>Home</li>
<li>About Us</li>
<li>Home</li>
<li>About Us</li>
<li>Home</li>
<li>About Us</li>
<li>Home</li>
<li>About Us</li>
<li>Home</li>
<li>About Us</li>
</ul>
</nav>
&#13;
答案 3 :(得分:0)
你可以将float css规则添加到 ul 元素。
.menu ul{padding:0px;}
.menu {
width: 100%;
}
.menu ul li {
float:left;
width: 10%; /* since I have 10 items */
text-align: center;
}
尝试上面的代码