inline-block和run-in的区别

来源:互联网 发布:mysql weekday 编辑:程序博客网 时间:2024/06/09 19:51

display的两个属性值inline-block和run-in,这两者之间的区别。

首先是inline-block,它是行内块元素,与它前一个元素的显示角色有关。如果它之前的的元素是块级元素的话,那它也将表现为块级元素;如果它之前的元素表现得是行内元素,则它也表示为行内元素。说白了就是,设置为inline-block的元素的显示效果和它前一个元素的表现一致,,与后一个元素的表现形式无关。

html code:(前一个为块级元素时)

<div>这是块级元素,查看效果</div><span>这个设置了inline-block</span>


css code:

div{    background:yellow;    width:100px;    margin-bottom:10px;}span{    display:inline-block;    background:blue;}


效果:


html code:(前个元素是行内元素时)

<span>这个是行内元素,查看效果</span><div>设置为inline-block</div>

css code:

span{    background:yellow;}div{    display:inline-block;    background:red;}

效果:


以上就是inline-block的一些知识。

接下来看看run-in是怎么工作的;

run-in也是一个有意思的行内块级元素,不过它与inline-block的表现是完全不同的。它的表现与它的后一个直接元素直接挂钩。如果它的后一个直接元素是块级元素的话,它会表现为行内元素插入到该块级元素中;如果它的后一个元素是行内元素的话,它就会表现为块级元素,坦白的讲就是跟后一个元素的表现是完全相反的,最后,它跟前一个元素的表现形式是无关的。

html code :(后一个元素是块级元素时)

<div class="box_1">设置为run-in,查看效果</div><div class="box_2">这个是块级元素元素</div>

css code:

.box_1{    display:run-in;    background:red;}

效果:


但是在firefox上显示却和chrome上的效果不是一样的,可能是浏览器的支持问题吧。

html code:(后一个元素是行内元素时)

<div class="box_1">设置为run-in,查看效果</div><span>这个是行内元素</span>

css code:

.box_1{    display:run-in;}

效果: