html - 每个 div 之间有 33% 的间距。是否可以压缩我的代码?

标签 html css

在 CSS 中均匀分布事物相对简单。还有很多关于堆栈溢出的问题,但它没有解释的一件事是如何在每个框之间放置空格(或 margin-left 和 margin-right)。

为了说明,这是我想要完成的: accomplish

我觉得通过使用三个不同名称的 div 来实现这一点,我正在走很长的路:

CSS:

#moreinfobar
{

}
#moreinfobarbox
{
float:left;
width:33.33%;
}
#moreinfobarbox-info
{
margin:0 20px;
background-color:#ffffff;
-webkit-box-shadow:  0px 0px 5px 1px #000000;
box-shadow:  0px 0px 5px 1px #000000;
}

HTML:

<div id="moreinfobar">

                <div id="moreinfobarbox"><div id="moreinfobarbox-info">Test1</div></div>
                <div id="moreinfobarbox"><div id="moreinfobarbox-info">Test2</div></div>
                <div id="moreinfobarbox"><div id="moreinfobarbox-info">Test3</div></div>


            </div>

我试图让它与两个单独的名称 div 一起工作,但无济于事。是否可以压缩我的代码?

JSFIDDLE:

三个 div(可行):

http://jsfiddle.net/JsA25/

两个 div(损坏):

http://jsfiddle.net/TxT4T/1/

最佳答案

当父元素具有固定宽度时,将 Margin + Width 赋予任何子元素。边距为元素创建了外部空间 - 结果:损坏的 UI。

<div style="width:400px;">
  <div style="width:200px; float: left; margin: 0 0 0 20px;">One</div> <!--Total space required: 220px; [disturbed UI]-->
  <div style="width:200px; float: left; margin: 0 0 0 20px;">Two</div> <!--Total space required: 220px; [disturbed UI]-->
</div>

父级有 - 400px

子元素侵入了 40px - 440px;结果:损坏的 UI

你只需要减小宽度。在你的情况下保持 width:26.33%;

关于html - 每个 div 之间有 33% 的间距。是否可以压缩我的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10877106/

相关文章:

css - 在 "jello"布局中扩展元素的一部分 - CSS

javascript - Twitter Bootstrap、导航栏、下拉菜单无法正常工作

html - 对齐元素 :baseline and align-items:flexstart shows no difference

html - 为什么 "ol li"的 CSS 覆盖 "ul li"中的元素符号 "ul"的 CSS(但在 "li"中的 "ol"下)?

html - 页面底部的页脚,内容在其间延伸

css - 如何在 2 两列但不同的行中拆分模态

javascript - 当我们只有 child 的id时,如何使用js更改父div的宽度和高度

javascript - 如何在模型 View 转换后获取正在绘制的对象的二维尺寸以在 webgl 上进行 HitTest

html - 如何让共享图标排成一排?

javascript - 文本字段 - onLoad 'Username/Password',onClick/Focus 改变颜色,onKeyDown 消失(类似于 Twitter)