高度相等的列

如下圖所示效果,可以使用表格實現(xiàn),本文采用在CSS中實現(xiàn)。

標記如下:

<div class="wrapper">
    <div class="box">
        <h1>Andy Budd</h1>
        <p> ... </p>
        <div class="bottom"></div>
    </div>
    <div class="box">
        <h1>Richard Rutter</h1>
        <p> ... </p>
        <div class="bottom"></div>
    </div>
    <div class="box">
        <h1>Jeremy Keith</h1>
        <p> ... </p>
        <div class="bottom"></div>
    </div>
</div>

在實例中,有3個div,每列一個div,每個div中包括標題、內(nèi)容、空的div,這個空的div作為底角的鉤子,將這3個div放入容器div中,使用容器div限制高度,下述代碼給框設置樣式:

.wrapper {
    width: 100%;
}
.box {
    width: 250px;
    margin-left: 20px;
    float: left;
    display: inline;
    padding: 20px;
    background: #89ac10 url(chapter08/img/top.gif) no-repeat left top;  /*圖片使得上面兩個角成為圓角*/
}

運行結果如下:產(chǎn)生3個高度不一致的列

產(chǎn)生高度相等的三列的關鍵技術在于:給每個框設置大的底內(nèi)邊距(220px),然后用數(shù)值相似的負外邊距(-200px)來消除這個高度。

.wrapper {
    float: left;
    border: solid 1px black;
    width: 100%;
}
.box {
    width: 250px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
    padding-bottom: 220px;
    margin-bottom: -200px;
    margin-left: 20px;
    float: left;
    display: inline;
    background: #89ac10 url(chapter08/img/top.gif) no-repeat left top;
}

通過給容器浮動、添加邊框,可以看到這樣導致每個列溢出容器元素。

.wrapper {
    border: solid 1px black;
    width: 100%;
    overflow:hiddden;
}
.box {
    width: 250px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
    padding-bottom: 220px;
    margin-bottom: -200px;
    margin-left: 20px;
    float: left;
    display: inline;
    background: #89ac10 url(chapter08/img/top.gif) no-repeat left top;
}

如果把容器的overflow設置為hidden,列在最高點被剪裁,220px和-200px形成的20px的差值在每個框的底部形成可見的內(nèi)邊距。

下面把列的底邊定位在正確的位置,需要它們與容器的底部對齊:為此,把容器的position設置為relative,然后將空div的position設置為absolute,再將它們的bottom設置為0,只要給它們設置正確的寬高,就能應用底部背景圖像。

.wrapper {
    border: solid 1px black;
    width: 100%;
    overflow:hiddden;
    position: relative;
}
.box {
    width: 250px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
    padding-bottom: 220px;
    margin-bottom: -200px;
    margin-left: 20px;
    float: left;
    display: inline;
    background: #89ac10 url(chapter08/img/top.gif) no-repeat left top;
}
.bottom {
    position: absolute;
    bottom: 0;
    height: 20px;
    width: 290px;
    background: #89ac10 url(chapter08/img/bottom.gif) no-repeat left bottom;
    margin-left: -20px;/*因為在.box中設置了margin-left為20px,則.bottom向右移動了20px(如最后一圖),所以設置-20px讓它左移*/
}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,149評論 1 92
  • 本課來自http://www.imooc.com/learn/9請不要用作商業(yè)用途。 HTML5 HTML介紹 H...
    PYLON閱讀 3,448評論 0 5
  • H5移動端知識點總結 閱讀目錄 移動開發(fā)基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,829評論 0 26
  • 移動開發(fā)基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,725評論 0 6
  • 來到你面前 你的眼角綻放著僅有一瓣的桃花 還留有淡淡的憂愁 不知是否可以為你拭去 但你終是無主的那一簇
    倚水之濱閱讀 219評論 0 2

友情鏈接更多精彩內(nèi)容