display:inline/inline-block

inline

  1. 行内元素不能设置宽、高;
  2. 行内元素可以设置padding
<a href="#">超链接</a>
a{
    background-color: #FFF2CC;
    padding: 20px;
}

在这里插入图片描述
注意:
虽然这样做可以给人块元素的感觉,但是还是有区别的,不要用这种方式去设置一个规定大小的块,否则会出现如下的奇怪现象。

<a href="#">超链接</a>
<div></div>
a{
    background-color: #FFF2CC;
    padding: 20px;
}
div{
    width: 300px;
    height:50px;
    background-color: #B0E3E6;
}

在这里插入图片描述
3.行内元素可以设置左右margin,但是不能设置上下margin

inline-block

按照常理,我们将div的display属性从block切换成inlone-block之后,我们希望得到的效果是这样的:
在这里插入图片描述
可以看到,两个盒子中间多了一点空白,但是我们并没有设置margin,这就是传说中的空白折叠现象,其原因就是因为两个div之间多了一个回车,在html中,回车被当作是一个文字,所以这里的空白就是文字的空白,相当于在两个div之间加了一个字母。

解决这个空白的办法有三种:

  1. 去除回车
<!-- 将div标签写在一行 -->
<div class="box1"></div><div class="box2"></div>
  1. 给父元素添加word-spacing属性

就是单词和单词之间的距离,这里将这个距离写成负值就可以了,这个值要尽量小,我们一般写小于-20px的值。

<div class="father">
    <div class="box1"></div>
    <div class="box2"></div>
</div>
.father{
    word-spacing: -50px;
}

.box1{
    width: 200px;
    height: 50px;
    display: inline-block;
    background-color: #FFF2CC;
}

.box2{
    width: 200px;
    height: 50px;
    display: inline-block;
    background-color: #B0E3E6;
}
  1. 给父元素设置font-size: 0px;
    从第二点我们了解到,回车可以当作是一个文字,那么如果将文字大小设置为0,空隙自然就会消失。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值