CSS学习笔记(三)display属性

本文详细介绍了CSS中的display属性,包括inline、block、inline-block及none等常见值的区别和应用场景,并探讨了position和float如何影响元素的display表现。

  display 属性规定元素应该生成的框的类型。默认值:inline

  我们常用的display属性值有:inline、block、inline-block、none;

 1 <style>
 2 .inline{display:inline; width:100px; height:100px; padding:5px; background-color:#F00;}
 3 .block{display:block; width:100px; height:100px; padding:5px;background-color:#0f0;}
 4 .inline-block{display:inline-block; width:100px;height:100px; padding:5px;background-color:#b3d9d9;}
 5 </style>
 6 </head>
 7 <body>
 8     <span class="inline">
 9 inline
10 </span>inline
11 <br>
12 <span class="block">
13 block
14 </span> block
15 <br>
16 <span class="inline-block">
17 inline-block
18 </span>inline-block
19 </body>

  效果如下:

  

内联对象(inline)给它设置属性height和width是没有用的,致使它变宽变大的原因是内部元素的宽高+padding。观察inline对象的前后元素,我们会发现inline不单独占一行,其它元素会紧跟其后。

块对象(block)是可以设置宽高的,但是它的实际宽高是本身宽高+padding。观察block的前后元素我们会发现block要单独占一行。然而,当我们即需要div有宽高,又不希望它独占一行怎么办?

这个时候我们就需要使用(inline-block)了,inline-block是行内的块级元素,它拥有块级元素的特点,可以设置长宽,可以设置margin和padding值,但它却不是独占一行的,它的宽带并不占满父元素,而是和行内元素一样,可以和其他行内元素排在同一行里。它集块级元素和行内元素的特点于一身。

注意:position:absolute和float会隐式地改变display类型,不论之前什么类型的元素(display:none除外),只要设置了position:absolute、float:left或float:right中任意一个,都会让元素以display:inline- block的方式显示。就算我们显示地设置display:inline或者display:block,也仍然无效(float在IE 6 下的双倍边距bug就是利用添加display:inline来解决的)。但是position:relative却不会隐式改变display的类型。

转载于:https://www.cnblogs.com/suvllian/articles/5350097.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值