Html 如何使div彼此相邻浮动?

Html 如何使div彼此相邻浮动?,html,css,css-float,Html,Css,Css Float,目标:我想让我的div像这样互相浮动 问题:当我在中间的div中有一个长度更长的内容时,它会像这样将它下面的div推到一边 如何实现像jsfiddle.net/x8Abc/1/这样的统一布局?在这种情况下,您需要使用display:inline块 修改你的css如下: .post { display: -moz-inline-stack; display: inline-block; *display: inline; padding: 10px; margin:

目标:我想让我的div像这样互相浮动

问题:当我在中间的div中有一个长度更长的内容时,它会像这样将它下面的div推到一边

如何实现像jsfiddle.net/x8Abc/1/这样的统一布局?

在这种情况下,您需要使用display:inline块

修改你的css如下:

.post {
   display: -moz-inline-stack;
   display: inline-block;
   *display: inline;
   padding: 10px;
   margin: 5px;
   border: 1px solid #000;
   width: 25%;
   zoom: 1;
}
要垂直对齐块,请更改垂直对齐css属性,例如

.post {
   display: -moz-inline-stack;
   display: inline-block;
   *display: inline;
   padding: 10px;
   margin: 5px;
   border: 1px solid #000;
   width: 25%;
   zoom: 1;
   vertical-align: top;
}
有关在IE中进行显示:内联块工作的更多信息,请参见此处:

在这种情况下,需要使用display:inline块

修改你的css如下:

.post {
   display: -moz-inline-stack;
   display: inline-block;
   *display: inline;
   padding: 10px;
   margin: 5px;
   border: 1px solid #000;
   width: 25%;
   zoom: 1;
}
要垂直对齐块,请更改垂直对齐css属性,例如

.post {
   display: -moz-inline-stack;
   display: inline-block;
   *display: inline;
   padding: 10px;
   margin: 5px;
   border: 1px solid #000;
   width: 25%;
   zoom: 1;
   vertical-align: top;
}
有关在IE中进行显示:内联块工作的更多信息,请参见此处:


您有几个不同的选择:

为每个帖子指定一个固定的高度,并将overflow属性设置为auto。这显然将确保每个都具有相同的高度,从而避免出现一个浮动在其同级旁边的问题,但会在文本较多的div中添加滚动条,而在几乎看不到文本的div底部添加空白:

坚持使用float来布置您的帖子,并确保每行的第一个帖子都已清除。可以这样实现*:

.post:nth-child(3n + 1) { clear:both; }
将您的文章布局方法更改为使用内联块,如下所示:

.post {
    display: inline-block;
    padding:10px;
    margin:5px;
    border:1px solid #000;
    width:25%;
 }
这里有一个原始示例的分支。我建议使用这种方法,因为它使您能够根据需要垂直对齐您的帖子,并且不会限制每个选项1中的复制量。这是一本很好的读物,详细介绍了如何让它在较旧的浏览器中工作


*请注意,IE您有几个不同的选项:

为每个帖子指定一个固定的高度,并将overflow属性设置为auto。这显然将确保每个都具有相同的高度,从而避免出现一个浮动在其同级旁边的问题,但会在文本较多的div中添加滚动条,而在几乎看不到文本的div底部添加空白:

坚持使用float来布置您的帖子,并确保每行的第一个帖子都已清除。可以这样实现*:

.post:nth-child(3n + 1) { clear:both; }
将您的文章布局方法更改为使用内联块,如下所示:

.post {
    display: inline-block;
    padding:10px;
    margin:5px;
    border:1px solid #000;
    width:25%;
 }
这里有一个原始示例的分支。我建议使用这种方法,因为它使您能够根据需要垂直对齐您的帖子,并且不会限制每个选项1中的复制量。这是一本很好的读物,详细介绍了如何让它在较旧的浏览器中工作



*请注意,iFiddle链接在您的问题中需要代码。@isherwood:代码太多,无法粘贴。您想要什么,请为div指定一个固定的高度?滚动的东西?或者,如果你想让它们具有可变高度,那么下一个应该放在哪里?你不必全部粘贴。只有相关的部分。@DennisHunink:当屏幕宽度较低时,我需要将每个div放在上一个和上一个div的下方和旁边。当前,当一个div包含大量内容时,它会将其下方的div推到右侧。小提琴链接需要在您的问题中使用代码。@isherwood:代码太多,无法粘贴。您想要什么,请给div一个固定的高度?滚动的东西?或者,如果你想让它们具有可变高度,那么下一个应该放在哪里?你不必全部粘贴。只有相关的部分。@DennisHunink:当屏幕宽度较低时,我需要将每个div放在上一个和上一个div的下方和旁边。目前,当一个div有很多内容时,它会把它下面的div推到右边,就是这样。非常感谢:p这在FF、Chrome、Opera、IE9和Safari/Win的最新版本中非常有效。做得很好,呈现得很好。@MarcAudet它也应该在IE7/8中工作。这里介绍了所有的基础。没问题:Mozzila的文档通常很有用,如果你没有偶然发现的话,在我建议查看他们的开发人员网络之前:就是这样。非常感谢:p这在FF、Chrome、Opera、IE9和Safari/Win的最新版本中非常有效。做得很好,呈现得很好。@MarcAudet它也应该在IE7/8中工作。这里介绍了所有的基础。没问题:Mozzila的文档通常很有用,如果你没有偶然发现的话,我建议你先看看他们的开发者网络:谢谢你的回答。我按照Seanthanks指出的内联方法来寻找答案。我遵循Sean指出的内联方法