Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.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
Html 如何使用流体比例在父div中水平堆叠三个div,并分别定位每个子div?_Html_Css_Responsive Design_Fluid Layout - Fatal编程技术网

Html 如何使用流体比例在父div中水平堆叠三个div,并分别定位每个子div?

Html 如何使用流体比例在父div中水平堆叠三个div,并分别定位每个子div?,html,css,responsive-design,fluid-layout,Html,Css,Responsive Design,Fluid Layout,我希望获得三个div,并将它们水平(彼此紧挨着)堆叠在一个包含div中。该包含div具有流体宽度,因此当浏览器按比例缩放时(对于响应性设计),三个子div会按比例缩放。此外,三个子div必须单独定位,以便最左侧的div位于左侧,中间的div居中,最右侧的div一直位于包含div的右侧 我试图通过将container div设置为display:table,将三个子div设置为display:table单元格来实现这一点——这非常有效,只是我无法按照上面描述的方式定位三个子div。我在父div上尝

我希望获得三个div,并将它们水平(彼此紧挨着)堆叠在一个包含div中。该包含div具有流体宽度,因此当浏览器按比例缩放时(对于响应性设计),三个子div会按比例缩放。此外,三个子div必须单独定位,以便最左侧的div位于左侧,中间的div居中,最右侧的div一直位于包含div的右侧

我试图通过将container div设置为display:table,将三个子div设置为display:table单元格来实现这一点——这非常有效,只是我无法按照上面描述的方式定位三个子div。我在父div上尝试了边框间距;然而,这不符合我的目标

这是我对代码的处理:

所需结果的屏幕截图: (在这里你会看到三个子分区:左、中、右在一个包含分区中。左、右分区分别位于左/右两侧,中间分区位于包含分区的中心。图片中还描绘了边距。我希望整个包含分区和子分区按比例缩小,并具有child DIV始终保持在其适当的位置。)

代码



您可以使用“文本对齐:对齐”来实现这一点,使div的间距均匀,使其与边缘齐平。然后添加一个宽度为100%的span类,以强制调整包装器的宽度

演示->

HTML

<div id="container">
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
    <span class="stretch"></span>
</div>

请链接到,有相当多的额外信息(也在评论中)。谢谢抱歉,找不到链接,只是有一个页面saved@reekogi-我如何使图像按比例缩放?我实现了你的代码,除了当图像互相碰撞时,它们会下降到另一行,而不是按比例缩小;宽度:100%;到图像->拖动结果窗口大小以在中查看它action@reekogi-这是CSS3属性Flexbox试图解决的问题吗,即使浏览器对此的支持非常有限?
<div id="container">
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
    <span class="stretch"></span>
</div>
#container {
    border: 2px dashed #444;
    height: 125px;

    text-align: justify;
    -ms-text-justify: distribute-all-lines;
    text-justify: distribute-all-lines;

    /* just for demo */
    min-width: 612px;
}

.box1, .box2, .box3 {
    width: 150px;
    height: 125px;
    vertical-align: top;
    display: inline-block;
    *display: inline;
    zoom: 1
}
.stretch {
    width: 100%;
    display: inline-block;
    font-size: 0;
    line-height: 0
}

/* just for demo */
.box1, .box3 {
    background: #ccc
}
.box2 {
    background: #0ff
}