html清除浮動(dòng)的幾種方法示例

字號(hào):


    使用display:inline-block會(huì)出現(xiàn)的情況:
    1.使塊元素在一行顯示
    2.使內(nèi)嵌支持寬高
    3.換行被解析了
    4.不設(shè)置的時(shí)候?qū)挾扔蓛?nèi)容撐開(kāi)
    5.在IE6,7下步支持塊標(biāo)簽
    由于inline-block屬性換行的時(shí)候被解析(有間隙)故解決方法使用浮動(dòng)float:left/right
    使用浮動(dòng)時(shí)出現(xiàn)的情況:
    1.使塊元素在一行顯示
    2.使內(nèi)嵌元素支持寬高
    3.不設(shè)置不寬高的時(shí)候?qū)挾扔蓛?nèi)容撐開(kāi)
    4.換行不被解析(故使用行內(nèi)元素的時(shí)候清除間隙的方法可以使用浮動(dòng))
    5.元素添加浮動(dòng),會(huì)脫離文檔流,按照指定的一個(gè)方向移動(dòng),直到碰到父級(jí)的邊界或者另一個(gè)浮動(dòng)元素停止(文檔流是文檔中可顯示對(duì)象在排列時(shí)所占用的位置)
    代碼如下:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>無(wú)標(biāo)題文檔</title>
    <style>
    div,span{height:100px;background:red;border:1px solid #000; float:left;}
    /*
    inline-block
    1.使塊元素在一行顯示
    2.使內(nèi)嵌支持寬高
    3.換行被解析了
    4.不設(shè)置寬度的時(shí)候?qū)挾扔蓛?nèi)容撐開(kāi)
    5.在IE6,7下不支持塊標(biāo)簽
    浮動(dòng):
    1.使塊元素在一行顯示
    2.使內(nèi)嵌支持寬高
    3.不設(shè)置寬度的時(shí)候?qū)挾扔蓛?nèi)容撐開(kāi)
    */
    </style>
    </head>
    <body>
    <div>div1</div>
    <div>div2</div>
    <span>span1</span>
    <span>span2</span>
    </body>
    </html>
    下面的代碼只有box1浮動(dòng),則box1,box2重疊一起。兩者都浮動(dòng)就不會(huì)重疊
    代碼如下:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>無(wú)標(biāo)題文檔</title>
    <style>
    .box1{ width:100px;height:100px;background:red; float:left;}
    .box2{ width:200px;height:200px;background:blue; /* float:left;*/}
    </style>
    </head>
    <body>
    <div></div>
    <div></div>
    </body>
    </html>
    清浮動(dòng)的方法:
    1.給父級(jí)也加浮動(dòng)(這種情況當(dāng)父級(jí)margin:0 auto;時(shí)不居中)
    代碼如下:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>無(wú)標(biāo)題文檔</title>
    <style>
    .box{ width:300px;margin:0 auto;border:10px solid #000; float:left;}
    .div{ width:200px;height:200px;background:red;float:left;}
    /*
    清浮動(dòng)
    1.給父級(jí)也加浮動(dòng)(不居中了)
    */
    </style>
    </head>
    <body>
    <div>
    <div></div>
    </div>
    </body>
    </html>
    2.給父級(jí)加display:inline-block;(同方法1,不居中。只有IE6,7居中)
    代碼如下:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>無(wú)標(biāo)題文檔</title>
    <style>
    .box{ width:300px;margin:0 auto;border:10px solid #000; display:inline-block;}
    .div{ width:200px;height:200px;background:red;float:left;}
    /*
    清浮動(dòng)
    1.給父級(jí)也加浮動(dòng)
    2.給父級(jí)加display:inline-block
    */
    </style>
    </head>
    <body>
    <div>
    <div></div>
    </div>
    </body>
    </html>
    3.在浮動(dòng)元素下加<div></div>
    .clear{ height:0px;font-size:0;clear:both;}但是在ie6下,塊元素有最小高度,即當(dāng)height<19px時(shí),默認(rèn)為19px,解決方法:font-size:0;或overflow:hidden;
    代碼如下:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>無(wú)標(biāo)題文檔</title>
    <style>
    .box{ width:300px;margin:0 auto;border:10px solid #000;}
    .div{ width:200px;height:200px;background:red;float:left;}
    .clear{ height:0px;font-size:0;clear:both;}
    /*
    清浮動(dòng)
    1.給父級(jí)也加浮動(dòng)
    2.給父級(jí)加display:inline-block
    3.在浮動(dòng)元素下加<div></div>
    .clear{ height:0px;font-size:0;clear:both;}
    */
    </style>
    </head>
    <body>
    <div>
    <div></div>
    <div></div>
    </div>
    </body>
    </html>
    4.在浮動(dòng)元素下加<br clear="all">
    代碼如下:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>無(wú)標(biāo)題文檔</title>
    <style>
    .box{ width:300px;margin:0 auto;border:10px solid #000;}
    .div{ width:200px;height:200px;background:red;float:left;}
    /*
    清浮動(dòng)
    1.給父級(jí)也加浮動(dòng)
    2.給父級(jí)加display:inline-block
    3.在浮動(dòng)元素下加<div></div>
    .clear{ height:0px;font-size:0;clear:both;}
    4.在浮動(dòng)元素下加<br clear="all"/>
    */
    </style>
    </head>
    <body>
    <div>
    <div></div>
    <br clear="all"/>
    </div>
    </body>
    </html>
    5.給浮動(dòng)元素父級(jí)加{zoom:1;}
    :after{content:""; display:block;clear:both;}
    代碼如下:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>無(wú)標(biāo)題文檔</title>
    <style>
    .box{margin:0 auto;border:10px solid #000;}
    .div{ width:200px;height:200px;background:red;float:left;}
    .clear{zoom:1;}
    .clear:after{content:""; display:block;clear:both;}
    /*
    清浮動(dòng)
    1.給父級(jí)也加浮動(dòng)
    2.給父級(jí)加display:inline-block
    3.在浮動(dòng)元素下加<div></div>
    .clear{ height:0px;font-size:0;clear:both;}
    4.在浮動(dòng)元素下加<br clear="all"/>
    5. 給浮動(dòng)元素的父級(jí)加{zoom:1;}
    :after{content:""; display:block;clear:both;}
    **在IE6,7下浮動(dòng)元素的父級(jí)有寬度就不用清浮動(dòng)
    haslayout 根據(jù)元素內(nèi)容的大小 或者父級(jí)的父級(jí)的大小來(lái)重新的計(jì)算元素的寬高
    display: inline-block
    height: (任何值除了auto)
    float: (left 或 right)
    width: (任何值除了auto)
    zoom: (除 normal 外任意值)
    */
    </style>
    </head>
    <body>
    <div>
    <div></div>
    </div>
    </body>
    </html>
    6.給浮動(dòng)元素父級(jí)加overflow:auto;
    代碼如下:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>無(wú)標(biāo)題文檔</title>
    <style>
    .box{ width:300px;border:1px solid #000;overflow:auto;}
    .div1{ width:260px;height:400px;background:Red;float:left;}
    </style>
    </head>
    <body>
    <div>
    <div></div>
    </div>
    </body>
    </html>