HTML代码块:
<body>
<div class="wall">
<div class="topnav">
<ul>
<li>导航项目1</li>
<li>导航项目2</li>
<li>导航项目3</li>
<li>导航项目4</li>
<li>导航项目5</li>
<li>导航项目6</li>
<li>导航项目7</li>
<li>导航项目8</li>
</ul>
</div>
</div>
</body>
CSS代码块:
<style>
html,body,.wall {
margin: 0;
border: 0;
padding: 0;
}
.topnav {
width: 1200px;
height: 38px;
margin: 0 auto;
background-color: red;
text-align: center;
}
.topnav ul {
font-size: 0;
}
.topnav ul,li {
margin: 0;
padding: 0;
display: inline-block;
list-style-type: none;
}
.topnav ul li {
height: 36px;
width: 120px;
font-size: 18px;
line-height: 36px;
}
</style>
显示效果:
可以看到每<li>
标签之间有明显的间隔,要想办法把它去掉。
错误原因:
中间出现间距的原因:<li>
标签和<li>
标签之间有空格引起;
解决方法:
-
方式1:把
<ul>
中每个相邻标签的回车和空格全部注释掉,HTML代码和效果如下:
<div class="wall">
<div class="topnav">
<ul><!--
--><li>导航项目1</li><!--
--><li>导航项目2</li><!--
--><li>导航项目3</li><!--
--><li>导航项目4</li><!--
--><li>导航项目5</li><!--
--><li>导航项目6</li><!--
--><li>导航项目7</li><!--
--><li>导航项目8</li><!--
--></ul>
</div>
</div>
-
方式2:设置
<ul>
标签的属性font-size = 0
,再重新设置;<li>
标签的font-size
。
<!-- HTML无需更改代码 -->
<!-- CSS增加代码 -->
<style>
.topnav ul {
font-size: 0;
}
.topnav ul li {
font-size: 18px;
}
</style>
-
方式3:
<li>
标签的css-style
中加入float: left;
让<li>
变成浮动,让各个<li>
标签紧挨着排列。同时还可以看到float
具有inline
元素特性;
最后一种方法不建议使用,float会使后期修改和添加元素的样式变得难以处理。