Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 填充居中div的边?_Css_Layout_Html_Multiple Columns - Fatal编程技术网

Css 填充居中div的边?

Css 填充居中div的边?,css,layout,html,multiple-columns,Css,Layout,Html,Multiple Columns,我想用另一个div或span填充居中div的两侧 我使用边距将div居中,如图所示 HTML <div id='A> <div id='Ad'> </div> </div> 如何让一个div总是占据左侧的剩余空间,而另一个div总是占据右侧的剩余空间 澄清: <div id='A'> <div id='AdLeft'></div> <div id='Ad'></div>

我想用另一个div或span填充居中div的两侧

我使用边距将div居中,如图所示

HTML

<div id='A>
  <div id='Ad'>
  </div>
</div>
如何让一个div总是占据左侧的剩余空间,而另一个div总是占据右侧的剩余空间

澄清:

<div id='A'>
  <div id='AdLeft'></div>
  <div id='Ad'></div>
  <div id='AdRight'></div>
</div>
#A { overflow:auto }
#AdLeft { float:left; width:25%; }
#Ad { float:left; width:50%; }
#AdRight { float:left; width:25%; }
<div id="A">
    <div id="Ad">Centre</div>
    <div id="left">Left</div>
    <div id="right">Right</div>
</div>
#A {
    z-index: 3000;
    position: fixed;
    width: 100%;
    height: 400px;
    background: rgba(0, 0, 0, 0.05);
}
/*
centered div
*/
 #Ad {
    z-index: 3000;
    width: 400px;
    height: 400px;
    margin-left: auto;
    margin-right: auto;
    border-left: solid 1px #ff0000;
    border-right: solid 1px #ff0000;
}
#left, #right {
    position:absolute;
    left:0;
    top:0;
    right:50%;
    margin-right:200px;
    background:#F00;
    height: 400px;
}
#right {
    left:50%;
    right:0;
    margin-left:200px;
    margin-right:0;
}
中柱的宽度必须恒定。左栏和右栏随窗口大小的不同而变化。

我只会使用3个浮动在主容器中的
s

HTML:

<div id='A'>
  <div id='AdLeft'></div>
  <div id='Ad'></div>
  <div id='AdRight'></div>
</div>
#A { overflow:auto }
#AdLeft { float:left; width:25%; }
#Ad { float:left; width:50%; }
#AdRight { float:left; width:25%; }
<div id="A">
    <div id="Ad">Centre</div>
    <div id="left">Left</div>
    <div id="right">Right</div>
</div>
#A {
    z-index: 3000;
    position: fixed;
    width: 100%;
    height: 400px;
    background: rgba(0, 0, 0, 0.05);
}
/*
centered div
*/
 #Ad {
    z-index: 3000;
    width: 400px;
    height: 400px;
    margin-left: auto;
    margin-right: auto;
    border-left: solid 1px #ff0000;
    border-right: solid 1px #ff0000;
}
#left, #right {
    position:absolute;
    left:0;
    top:0;
    right:50%;
    margin-right:200px;
    background:#F00;
    height: 400px;
}
#right {
    left:50%;
    right:0;
    margin-left:200px;
    margin-right:0;
}

这里有一个修改过的。

用于填充div代码左右两侧的空间,请使用并确保这些侧边没有边距或填充

float:right; 
float:left;
HTML:

<div class='container'> 
<div class='left'></div> 
<div class='center'></div>
<div class='right'></div> 
</div>

右边的边距.center将相应地填充该空间

这将达到您想要的效果-它允许您拥有一个固定宽度的中央div,左栏和右栏填充剩余空间:

HTML:

<div id='A'>
  <div id='AdLeft'></div>
  <div id='Ad'></div>
  <div id='AdRight'></div>
</div>
#A { overflow:auto }
#AdLeft { float:left; width:25%; }
#Ad { float:left; width:50%; }
#AdRight { float:left; width:25%; }
<div id="A">
    <div id="Ad">Centre</div>
    <div id="left">Left</div>
    <div id="right">Right</div>
</div>
#A {
    z-index: 3000;
    position: fixed;
    width: 100%;
    height: 400px;
    background: rgba(0, 0, 0, 0.05);
}
/*
centered div
*/
 #Ad {
    z-index: 3000;
    width: 400px;
    height: 400px;
    margin-left: auto;
    margin-right: auto;
    border-left: solid 1px #ff0000;
    border-right: solid 1px #ff0000;
}
#left, #right {
    position:absolute;
    left:0;
    top:0;
    right:50%;
    margin-right:200px;
    background:#F00;
    height: 400px;
}
#right {
    left:50%;
    right:0;
    margin-left:200px;
    margin-right:0;
}
关键是左/右的边距是中心列总宽度的一半,因此调整它以考虑任何边框或填充

工作示例:

制作3个div:

<div id="A"></div>
<div id="B"></div>
<div id="C"></div>
<div style="clear:both"></div>
这里,B是你的主要部门。
当您使用float属性时,最好进行清除。

是否有理由不在主容器中使用3
s
?…不错,但Jon的解决方案要简单得多,有任何比较吗?确实如此。老实说,浮动是最常见的解决方案,但正如Jon之前提到的那样,我想我会提供一个不同的视角,因为这在某些情况下更合适(例如,您希望左栏和右栏位于父栏之外,而不是父栏是所有3栏的全宽).当然,Jon的解决方案使您的中心列变宽,这可能不合适。这个解决方案让你的中柱保持固定,同时保持另外两个弹性…我刚刚注意到…不能让中柱像那样改变宽度。你的中柱是400像素宽。我将左列定位为50%右侧,并将中心宽度除以2。技术上它应该是201px,因为1px的边界。我需要一个恒定宽度的中心div。只需更换(x)%w/a(x)px?