为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的这个练习代码里,li 元素中间会多出来一部分空隙。这个是如何产生的呢?

这个空隙如何取消掉呢?

截图

http://take.ms/8NHKB

练习代码

codepen

正在回答

3 回答

第一个<li>会相对<ul>缩进一定的像素,是<li>自带的<padding>属性。所以一般写网页的时候,会在先初始化样式,最简单的就是在CSS里面先写一个*{margin:0;padding:0;}

1 回复 有任何疑惑可以回复我~

你设置的这个::before 产生的效果,在盒子之间造成间隙

0 回复 有任何疑惑可以回复我~
#1

zozorz 提问者

是的,通过 ::before添加元素进去后产生了间距。但这个是因为元素的 margin 造成的吗?还有一个没搞懂的是before 的css 中已经设置了 position:absolute。理论上应该不会由于 margin 影响到两边的 li 才是
2016-04-22 回复 有任何疑惑可以回复我~

在 .nav-bar ul li 加如下代码,不知道是不是你要的效果,我是新手,不喜勿喷

 margin-left:-5px

0 回复 有任何疑惑可以回复我~
#1

zozorz 提问者

呵呵,谢谢你的热心回答。通过 margin-left:-5px 是可以让消除空隙。不过我的疑问是根据盒模型,通过属性设置,这个空隙到底是怎么产生的。
2016-04-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的这个练习代码里,li 元素中间会多出来一部分空隙。这个是如何产生的呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信