请查看 fiddle 。
我有两种不同的行为。
.class2 {
width: 49.5%;
display: inline-block;
}
.class3 {
width: 50%; /* Wraps to next line */
display: inline-block;
}
为什么要包装?我在一个特殊的div里面工作。
如何使其不包裹并保持宽度= 50%。
除了50%,我不知道如何提出正确的价值。
答案 0 :(得分:1)
使用float: left;
在左侧浮动第一个<div>
,您还可以使用<div>
将第二个float: right;
浮动到右侧,而不是使用<div style="clear: both;"></div>
清除你的浮动元素:
<强> CSS 强>:
.class1 {
background-color: red;
width: 100%;
}
.class2 {
width: 50%;
background-color: blue;
color: white;
float: left;
}
.class3 {
background-color: green;
width: 50%;
float: right;
}
<强> HTML 强>:
<div class="class1">
<div class="class2">
This is demo
</div>
<div class="class3">
This is demo
</div>
<div style="clear: both;">
</div>
答案 1 :(得分:1)
尝试像这样浮动你的div:
.class1 {
background-color: red;
width: 100%;
}
.class2 {
width: 50%;
display: inline-block;
background-color: blue;
color: white;
float:left;
}
.class3 {
width: 50%;
display: inline-block;
background-color: blue;
color: white;
float:right;
}
答案 2 :(得分:1)
您无需诉诸float
。这是一个相对丑陋的解决方法,它引入了自己的问题(必须清除浮点数和/或在包含元素上设置overflow:hidden
。)
您没有提供HTML标记,但我猜您在元素之间有空格,就像Alien先生的回答一样。
有关更好的解决方案,请参阅Two inline-block, width 50% elements wrap to second line。
答案 3 :(得分:0)
它们堆叠而不是彼此相邻的原因是显示:内联块识别空白区域。如果你在第一个div之后有一个返回,那么它会选择它并使它堆叠。解决方法类似于......
<div class="col1">
Column one content.
</div><div class="col2">
Column two content.
</div>
答案 4 :(得分:0)
不要使用花车,它们会引起各种头痛。只需将其添加到您的CSS:
body,html{ white-space:nowrap; }
a,pre,p,span,strong,h1,h2,h3,h4,h5,h6{ white-space:normal; }
...然后确保您网站上的所有文字都包含在“p”或“span”
中答案 5 :(得分:0)
我经常使用 display:inline-block; 。
但是, display:inline-block 有一些问题。
我推荐Grids - Pure模式,并编写了一个示例代码,如Pure。
.class1 {
letter-spacing: -0.31em;
*letter-spacing: normal;
*word-spacing: -0.43em;
text-rendering: optimizespeed;
font-family: Georgia, Times, "Times New Roman", serif;
}
.class2, .class3 {
display: inline-block;
zoom: 1;
letter-spacing: normal;
word-spacing: normal;
vertical-align: top;
text-rendering: auto;
font-family: "Hiragino Kaku Gothic ProN",Meiryo,Verdana,sans-serif;
width: 50%;
}
答案 6 :(得分:-1)
放一个:
margin:-2px;
进入你的class3。 这不会打破你的div,但解决你的问题。 不知道为什么