行内元素,排列在一行,但是不能设置它的width、height、margin、padding属性,即使设置了,也是不生效的。

快元素独占一行,如下的这个例子,before div、in div1、in div2、after div分别占一行,也就是说,块元素前后都不能有行内元素和文本节点。

    before div<div style="display:inline-block">in div1</div> <div style="display:inline-block">in div2</div> after div

那么如何让div 可以排列在一行呢?

用如下的方式:

div{
     display:inline-block;//如果网站只兼容谷歌和火狐,这样写就可以
}
div{
     display:inline-block;//但是IE不支持inline-block,需要这么写,这样写3个浏览器
                                 //就可以都兼容了
     *display:inline;
     *zoom=1;
}

而且:当我们对div设置成了inline-block的时候,同样可以对其设置width、height属性,如果要让其居中,就不需要margin:0 auto;了,因为他具有了inline的特性,所以用text-align:center就行了。

例子:如下代码,执行之后,里面的div就是居中的,有宽,有高。

<div style="border:solid;width:500px;height:400px;text-align:center;">
        <div style="border: solid; width: 300px; height: 200px;display:inline-block;">inline-block div</div>
    </div>

当我们对一个行内元素<span>设置成inline-block的时候,它也是可以有宽有高的(当我们不设置成inline-block的时候,它默认是inline,给他设置宽高,没效果)

<span style="border: solid; width: 300px; height: 200px;">The Span hava width and height</span>

 

posted on 2016-03-02 14:58  Mr.He多多指教  阅读(5099)  评论(1编辑  收藏  举报