小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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)閣當(dāng)天批準(zhǔn)在約旦河西岸和東耶路撒冷猶太人定居點新建3000套住房,此舉旨在抗議聯(lián)合國29日批準(zhǔn)給與巴勒斯坦觀察員國地位。巴以和談進(jìn)程也因此蒙上巨大</div>
</body>
</html>

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

 代碼如下 復(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)閣當(dāng)天批準(zhǔn)在約旦河西岸和東耶路撒冷猶太人定居點新建3000套住房,此舉旨在抗議聯(lián)合國29日批準(zhǔn)給與巴勒斯坦觀察員國地位。巴以和談進(jìn)程也因此蒙上巨大陰</div>
</body>
</html>以上代碼通過運用!important和min-height屬性實現(xiàn)了各個瀏覽器都能夠達(dá)到高度自適應(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ù)伍_。
再看下面這一實例:

 

 代碼如下 復(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,從而脫離了文檔流。如果想讓上面的父元素達(dá)到高度自適應(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)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多