日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

div高度自適應(yīng)方法總結(jié)

 沽渡 2013-10-10

div高度自適應(yīng)方法總結(jié)

www.  2013-02-20  編輯:tiger
我們經(jīng)常會用到div高度自適應(yīng),但是經(jīng)常不兼容啊,下面我來介紹div高度自適應(yīng)方法總結(jié),有需要的朋友可參考參考。

看下面代碼:

 

 代碼如下 復(fù)制代碼

<style type="text/css">
    .mytest
    {
        width:100px;
        height:100px;
        border:1px solid green;
    }
</style>

    <div class="mytest">據(jù)英國《每日電訊報》11月30日報道,以色列安全內(nèi)閣當天批準在約旦河西岸和東耶路撒冷猶太人定居點新建3000套住房,此舉旨在抗議聯(lián)合國29日批準給與巴勒斯坦觀察員國地位。巴以和談進程也因此蒙上巨大</div>
</body>
</html>

以上代碼中固定了div的高度為100px,如果內(nèi)容的高度超過100px的話,除了在IE6下能夠達到高度自適應(yīng),其他瀏覽器都會出現(xiàn)內(nèi)容溢出的現(xiàn)象,顯示不能夠達到我們想要的效果,下面就來修改一下代碼 。

 代碼如下 復(fù)制代碼

<style type="text/css">
    .mytest
    {
        width:100px;
        height:auto!important;
        height:100px;
        min-height:100px;
        border:1px solid green;
    }
</style>

<div class="mytest">據(jù)英國《每日電訊報》11月30日報道,以色列安全內(nèi)閣當天批準在約旦河西岸和東耶路撒冷猶太人定居點新建3000套住房,此舉旨在抗議聯(lián)合國29日批準給與巴勒斯坦觀察員國地位。巴以和談進程也因此蒙上巨大陰</div>
</body>
</html>以上代碼通過運用!important和min-height屬性實現(xiàn)了各個瀏覽器都能夠達到高度自適應(yīng)效果。
上面都是介紹的是div中都是文本內(nèi)容的情況,但是還有可能是div中存有子div的情況,下面簡單介紹一下此種情況。先看一實例:

 

 代碼如下 復(fù)制代碼

<style type="text/css">
    .parent
    {
        border:2px solid red;
        width:200px;
    }
    .children
    {
        width:200px;
        height:200px;
        background-color:green;
    }
</style>

<div class="parent">
     <div class="children"></div>
</div>

以上代碼中,父元素只規(guī)定了寬度沒有規(guī)定高度,子元素在正常的文檔流中,所以子元素能夠?qū)⒏冈負伍_。
再看下面這一實例:

 

 代碼如下 復(fù)制代碼

<style type="text/css">
    .parent
    {
        border:2px solid red;
        width:200px;
    }
    .children
    {
        width:200px;
        height:200px;
        float:left;
        background-color:green;
    }
</style>


<div class="parent">
        <div class="children"></div>
</div>


從上面代碼的運行可以看出,父元素并沒有被撐開,這個是因為子元素float屬性值設(shè)置為left,從而脫離了文檔流。如果想讓上面的父元素達到高度自適應(yīng),就要清除子元素的浮動。修改代碼如下:

 

 代碼如下 復(fù)制代碼

<style type="text/css">
    .parent
    {
        border:2px solid red;
        width:200px;
        overflow:hidden;
    }
    .children
    {
        width:200px;
        height:200px;
        float:left;
        background-color:green;
    }
</style>

<div class="parent">
    <div class="children"></div>
</div>

以上代碼通過給父元素的樣式中添加overflow:hidden即可清除浮動。
如果說父元素就像最開始的例子一樣,固定了高度,并且還要實現(xiàn)高度自適應(yīng)效果,就可以參閱元素中內(nèi)容是文本的情況,解決方法是一樣的。代碼如下:

 

 代碼如下 復(fù)制代碼

<style type="text/css">
    .parent
    {
        border:2px solid red;
        width:200px;
        height:auto!important;
        height:100px;
        min-height:100px;
    }
    .children
    {
        width:200px;
        height:200px;
        float:left;
        background-color:green;
    }
    .clear
    {
        clear:both;
    }
</style>

<div class="parent">
        <div class="children"></div>
        <div class="clear"></div>
</div>

上面講述的都是css,我另外介紹一通過js的方法,原理是js獲取兩個子div的高度然后比較哪個大,然后分別設(shè)置div的高度,下面的實例演示3列式的。

js代碼如下:

 代碼如下 復(fù)制代碼

<script>  
var a=Math.max(document.getElementById("left").offsetHeight,document.getElementById("center").offsetHeight,document.getElementById("right").offsetHeight);  //獲取3個div的最大高度
document.getElementById("left").style.height = a + "px";  
document.getElementById("center").style.height = a + "px";  
document.getElementById("right").style.height = a + "px";  
</script> 

需要注意的是這個js代碼請放在頁面底部

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多