float 与 display:inline-block

float:css

1.会致使高度塌陷浏览器

<style type="text/css">
    li{
        float:left;
        height:200px;
        width:200px;
        background-color: red;
        margin:10px;
        font-size: 50px;
        text-align: center;
        line-height: 200px;
        list-style: none
    }
    ul{
        border:5px solid green;    
        width:100%;
    }
<style>

<ul>
    <li>1</li>
    <li>2</li>
</ul>

 

 

2.若float元素高度不一,会造成锯齿状spa

<style type="text/css">
    div{
        float:left;
        height:200px;
        width:200px;
        background-color: red;
        margin:10px;
        font-size: 50px;
        text-align: center;
        line-height: 200px;
}
    div.q1{
        height:500px;
}
        
</style>  


<div>1</div>
<div class="q1">2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>   

 

2.display:inline-blockcode

  注:每一行全部的inline元素与inline-block元素 会造成一个inline box ,该inline box的高度由inline 或inline-block元素的高度来决定,因此不会出现锯齿状blog

  

  问题:换行符与空格间隙问题ci

     (1)空格符的本质就是透明的字符,全部能够经过font-size:0 来去除空格class

     (2)letter-spacing 属性float

  总结:im

    block水平的元素inline-block化后,IE6/7没有换行符间隙问题,其余浏览器均有;
    inline水平的元素inline-block后,全部主流浏览器都有换行符/空格间隙问题;
    font-size:0,去除换行符间隙,在IE6/7下残留1像素间隙,其余浏览器都完美去除;
        letter-spacing负值能够去除全部浏览器的换行符间隙。d3

相关文章
相关标签/搜索