[英]How do I distribute space evenly among inline links within a div?
我希望在链接之间平均分配空间,因此每个链接都占包含div的空间的1/3。 他们之所以在此div之内,是因为我想将其与横幅对齐,否则我不确定该如何做。
这是一个小提琴: https : //jsfiddle.net/yuy84gmq/13/
.bruceBanner img { border: 2px solid black; height: 172px; width: 553px; display: block; margin: 0 auto; } .navLinks li { border: 1px solid black; display: inline; font-size: 25px; } #navBar { border: 1px solid black; width: 553px; margin: 0 auto; }
<div class="bruceBanner"> <a href="#"> <img border="0" alt="XYZ Banner" src="http://bit.ly/1QSpdbq" width="553" height="172"> </a> </div> <nav id="navBar"> <ul class="navLinks"> <li><a href='#'>About</a> </li> <li><a href='#'>Hours</a> </li> <li><a href='#'>Contact</a> </li> </ul> </nav> <!--#navBar-->
使用flexbox并将justify-content
设置justify-content
space-between
或space-around
:
.navLinks {
display: flex;
justify-content: space-around;
}
.bruceBanner img { border: 2px solid black; height: 172px; width: 553px; display: block; margin: 0 auto; } .navLinks li { border: 1px solid black; display: inline; font-size: 25px; } #navBar { border: 1px solid black; width: 553px; margin: 0 auto; } .navLinks { display: flex; padding: 0; justify-content: space-around; }
<div class="bruceBanner"> <a href="#"> <img border="0" alt="XYZ Banner" src="http://bit.ly/1QSpdbq" width="553" height="172"> </a> </div> <nav id="navBar"> <ul class="navLinks"> <li><a href='#'>About</a></li> <li><a href='#'>Hours</a></li> <li><a href='#'>Contact</a></li> </ul> </nav>
我看到一个flexbox解决方案已经发布,所以我将发布table/table-cell
解决方案。 这是一个简单但有效的方法,您不必担心浏览器的差异。
.bruceBanner img { border: 2px solid black; height: 172px; width: 553px; display: block; margin: 0 auto; } #navBar { border: 1px solid black; width: 553px; margin: 0 auto; } /* set the container to act like a table */ .navLinks { display: table; table-layout: fixed; /* evenly space all elements */ /* remove default styling */ width: 100%; margin: 0; padding: 0; } .navLinks li { display: table-cell;/* set to a table-cell */ text-align: center; font-size: 25px; padding: 10px; } .navLinks a { border: 1px solid black; }
<div class="bruceBanner"> <a href="#"> <img border="0" alt="XYZ Banner" src="http://bit.ly/1QSpdbq" width="553" height="172"> </a> </div> <nav id="navBar"> <ul class="navLinks"> <li><a href='#'>About</a> </li> <li><a href='#'>Hours</a> </li> <li><a href='#'>Contact</a> </li> </ul> </nav> <!--#navBar-->
试试这个代码
为我工作
.bruceBanner img {
border: 2px solid black;
height: 172px;
width: 553px;
display: block;
margin: 0 auto;
}
.navLinks{
padding: 0px;
}
.navLinks li {
border: 1px solid black;
display: inline-block;
font-size: 25px;
width:32%;
}
#navBar {
border: 1px solid black;
width: 553px;
margin: 0 auto;
}
<div class="bruceBanner">
<a href="#">
<img border="0" alt="XYZ Banner" src="http://bit.ly/1QSpdbq" width="553" height="172">
</a>
</div>
<nav id="navBar">
<ul class="navLinks">
<li><a href='#'>About</a>
</li>
<li><a href='#'>Hours</a>
</li>
<li><a href='#'>Contact</a>
</li>
</ul>
</nav>
.bruceBanner img {
border: 2px solid black;
height: 172px;
width: 553px;
display: block;
margin: 0 auto; /*After setting a width this will make object sit centrally within parent container. Auto sets left and right margins equally. 0 denotes no top or bottom margin */
}
.li1 {
border: 1px solid black;
display:inline-block;
margin-right: 15%;
float: left;
}
.li2 {
border: 1px solid black;
display:inline-block;
margin-right: 17%;
margin-left: 20%;
}
.li3 {
border: 1px solid black;
display:inline-block;
float: right;
margin-right: 8%;
}
/* Adjust left/right margin as appropriate */
#navBar {
border: 1px solid black;
width:553px;
margin: 0 auto;
}
<body>
<div class="bruceBanner">
<a href="#">
<img border="0" alt="XYZ Banner" src="http://bit.ly/1QSpdbq" width="553" height="172">
</a>
</div>
<nav id="navBar">
<ul class="navLinks">
<li class="li1"><a href='#'>About</a></li>
<li class="li2"><a href='#'>Hours</a></li>
<li class="li3"><a href='#'>Contact</a></li>
</ul>
</nav> <!--#navBar-->
</body>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.