我有一个div漂浮在左边,一个div漂浮在右边,在2之间有一个可变间隙(响应)。
我需要能够用颜色填充中间的间隙,但只能填充中间的间隙(它不能在其他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{
?????
}
答案 0 :(得分:2)
您可以使用此目的的表格布局。
.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;
}
答案 1 :(得分:2)
对于填充物,请给它一个等于导航宽度的边距:
.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>
答案 2 :(得分: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;
}
答案 3 :(得分:0)
答案 4 :(得分:0)
如果您正在尝试实现响应式设计,则不应使用固定宽度。相反,我建议你试试这个:
<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>