我的图标和文字位于不同的列表标签中。图标与其标题不对齐。它们被写成两个无序列表。我现在唯一的解决方案是将列表合并到一个ul,但我希望有更好的方法来实现它。非常感谢任何帮助。
<ul>
<li><i class="fa fa-cog"></i></li>
<li><i class="fa fa-home"></i></li>
<li><i class="fa fa-user"></i></li>
<li><i class="fa fa-cart"></i></li>
</ul>
<ul>
<li>Settings</li>
<li>Home</li>
<li>Account</li>
<li>Cart</li>
</ul>
答案 0 :(得分:4)
方法1:如果您不希望图标和文字处于同一个ul
,请尝试为li
定义固定宽度。
li {
display: inline-block;
margin: 0 40px;
text-align: center;
width: 100px;
}
方法2: 如果您可以集成2个列表,那么这是更好的解决方案:
<ul>
<li><i class="fa fa-cog"></i>Settings</li>
<li><i class="fa fa-home"></i>Home</li>
<li><i class="fa fa-user"></i>Account</li>
<li><i class="fa fa-cart"></i>Cart</li>
</ul>
的CSS:
ul li {
display: inline-block;
margin: 0 30px;
text-align: center;
}
ul li i {
display: block;
/* add margins here to adjust icons */
}
答案 1 :(得分:2)
将图标和标题合并到一个列表中。
<ul>
<li><i class="fa fa-cog"></i>Settings</li>
<li><i class="fa fa-home"></i>Home</li>
<li><i class="fa fa-user"></i>Account</li>
<li><i class="fa fa-cart"></i>Cart</li>
</ul>
答案 2 :(得分:2)
我可能会在这里迟到。但试试这个:
li {
display: inline-block;
text-align: center;
width: 50px;
}
答案 3 :(得分:0)
最好的选择是使用一个列表而不是两个,但如果您愿意,可以float
左侧<ul>
。请看下面:
.icons{float:left;}
.names{float:left;}
<ul class="names">
<li>Settings</li>
<li>Home</li>
<li>Account</li>
<li>Cart</li>
</ul>
<ul class="icons">
<li><i class="fa fa-cog"></i>icon-setting</li>
<li><i class="fa fa-home"></i>icon-home</li>
<li><i class="fa fa-user"></i>icon-account</li>
<li><i class="fa fa-cart"></i>icon-cart</li>
</ul>
答案 4 :(得分:0)
.left{
float: left;
}
.clear{
clear: left;
}
<ul class="left">
<li><i class="fa fa-cog"></i></li>
<li><i class="fa fa-home"></i></li>
<li><i class="fa fa-user"></i></li>
<li><i class="fa fa-cart"></i></li>
</ul>
<ul class="left">
<li>Settings</li>
<li>Home</li>
<li>Account</li>
<li>Cart</li>
</ul>
<div class="clear"></div>
答案 5 :(得分:0)
更好的方法是保留一个列表而不是两个
<ul class="menu">
<li><i class="fa fa-cog"></i><span>Settings</span></li>
<li><i class="fa fa-home"></i><span>Home</span></li>
<li><i class="fa fa-user"></i><span>Account</span></li>
<li><i class="fa fa-cart"></i><span>Cart</span></li>
</ul>
<button class="toogle-menu" type="button">toogle</button>
<script type="text/javascript">
$('.toogle-menu').click(function(){
$('.menu li span').toogle(); // http://api.jquery.com/toggle/
});
</script>
<style>
.menu{
padding:0;
margin:0;
list-style:none;
}
.menu li{
padding: 5px;
}
.menu li span{
display: inline-block;
margin: 0 0 0 5px;
}
</style>