li标签在渲染时的空隙问题

问题:为什么< li >标签在渲染的时候,即使不写 padding 或 margin,还是有空隙?
下面我们将块元素横排。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>li标签的间隙问题</title>
		<link rel="stylesheet" type="text/css" href="./new_file.css"/>
	</head>
	<body>
		<div class="wrap">
			<ul>
				<li class="part1"></li>
				<li class="part2"></li>
				<li class="part3"></li>
			</ul>
		</div>
	</body>
</html>
body {
	width:100%;
}
.wrap {
	width:600px;margin:0 auto;
}
.wrap li {
	width:30%; height: 150px;display:inline-block;  /* 行内块元素 */
}
.part1 {
	background-color: #6495ED;
}
.part2 {
	background-color: #DC143C;
}
.part3 {
	background-color: black;
}

可以很明显的看到块之间的间隙
可以很明显的看到快之间的间隙
原因应该是:浏览器的默认行为是把inline元素间的空白字符(空格换行tab)渲染成一个空格
下面是解决方法:
1.将< li >代码全部写在一排

<li class="part1"></li><li class="part2"></li><li class="part3"></li>

2.将< li >标签之间用注释填补

<li class="part1"></li><!--
--><li class="part2"></li><!--
--><li class="part3"></li>

3.为了代码美观,我们可以将< ul >内的字符尺寸直接设为0

.wrap ul{
	font-size:0px;
}

但是同时要设置< li >标签的 font-size属性。

.wrap ul li{
	letter-spacing: normal;
}

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值