簡體   English   中英

將div浮動在2個左/右對齊的div之間

[英]float div in between 2 left/ right aligned divs

我有一個div左浮動,一個div右浮動,兩個之間有一個可變的間隙(響應)。

我需要能夠用一種顏色填充中間的空白,但只能填充中間的空白(它不能在其他2個div后面流動,因為這些div具有透明的背景)

我如何用html結構來實現這一點:

HTML

<div class="nav-wrap">
    <ul class="nav">
    </ul>
    <div class="filler"></div>
    <ul class="nav right">
    </ul>
</div>

CSS

.nav-wrap{
    float:left;
    width:100%;
}

.nav{
    float:left;
    height:50px;
    width:200px;
    margin:0;
    padding:0;
}

.nav.right{
    float:right;
}

.filler{
    ?????
}

您可以使用此目的的表格布局。

.nav-wrap{
    width:100%;
    display:table;
    table-layout:fixed;
}

.nav{
    display:table-cell;
    height:50px;
    width:200px;
    margin:0;
    padding:0;
}


.filler{
     display:table-cell;
     background: ?;
     height:50px;
}

對於填充物,給它一個等於導航寬度的邊距:

.filler{
    margin: 0 200px;
    background-color: blue;
}

為此,請將兩個導航都放在HTML中的div之前:

<div class="nav-wrap">
    <ul class="nav">
    </ul>
    <ul class="nav right">
    </ul>
    <div class="filler">X</div>
</div>

小提琴: http : //jsfiddle.net/yyZz6/1/

您可以使用以下html:

<div class="nav-wrap">
    <ul class="nav left">
    </ul>
    <div class="filler"></div>
    <ul class="nav right">
    </ul>
</div>

具有以下樣式:

.nav-wrap{
    padding:0 200px;
    overflow:auto;
}

.nav{
    height:50px;
    width:200px;
    margin:0;
    padding:0;
}

.nav.right{
    float:right;
    margin-right:-200px;
}

.nav.left{
    float:left;
    margin-left:-200px;
}

.filler{
    width:100%; float:left;
}

考慮使用CSS flexbox的 flex-grow

.filler{
    background: SaddleBrown; flex-grow: 1;
}

小提琴

如果您試圖實現響應式設計,則不應使用固定寬度。 相反,我建議您嘗試一下:

   <div class="nav-wrap">
    <ul class="nav">

    </ul>
    <div class="filler">

    </div>
    <ul class="nav">

    </ul>
</div>
<style type="text/css">
.nav-wrap{
    float:left;
    width:100%;
}

.nav, .filler{
    border: 1px solid black;
}
.nav{
    float:left;
    height:50px;
    width:13%;
    margin:0;
    padding:0;
}


.filler{
    float: left;
    width: 64%;
}
<style>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM