Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.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 使用内联块和左浮动垂直和水平堆叠内容_Html_Css - Fatal编程技术网

Html 使用内联块和左浮动垂直和水平堆叠内容

Html 使用内联块和左浮动垂直和水平堆叠内容,html,css,Html,Css,因此,我希望在一个div中垂直堆叠项目,并水平堆叠多个div,如下图所示: 每个div都定义了一个类名floatbox 筛选类型: 为此,我应用了以下css .floatbox{ 显示:内联块; 宽度:175px; 保证金:0; 垫面:5px; 浮动:左; } 我需要float,因为会将其视为块级元素,除非使用float。但是,当我添加它时,这些项目会四处移动。我可以通过添加两个额外的元素来纠正这个问题,但我想知道这是否是最好的解决方案 查看此示例问题在于并非所有floatbox元素都具

因此,我希望在一个div中垂直堆叠项目,并水平堆叠多个div,如下图所示:

每个div都定义了一个类名
floatbox


筛选类型:
为此,我应用了以下css

.floatbox{
显示:内联块;
宽度:175px;
保证金:0;
垫面:5px;
浮动:左;
}
我需要float,因为
会将其视为块级元素,除非使用float
。但是,当我添加它时,这些项目会四处移动。我可以通过添加两个额外的
元素来纠正这个问题,但我想知道这是否是最好的解决方案


查看此示例

问题在于并非所有floatbox元素都具有相同的高度,因此您可以通过为它们指定一个高度来解决此问题:

.floatbox {
    ...
    height:45px;
    ...
}
可以很好地使用JSFIDLE示例

使用浮动元素强制“换行”的另一种方法是使用css
clear
属性:

<div style="clear:both"></div>


把这个放在第四个盒子后面,确保它会在那里破裂。然后,您不必使用固定的高度,您可以从代码中删除所有标记(对于两种解决方案)

问题在于并非所有floatbox元素都具有相同的高度,因此您可以通过为它们提供一个:

.floatbox {
    ...
    height:45px;
    ...
}
可以很好地使用JSFIDLE示例

使用浮动元素强制“换行”的另一种方法是使用css
clear
属性:

<div style="clear:both"></div>


把这个放在第四个盒子后面,确保它会在那里破裂。然后,您不必使用固定高度,您可以从代码中删除所有标记(对于两种解决方案)

您可以执行上述回答,但如果您使用display:inline block,实际上根本不需要浮动。我只在float中添加了按钮,以将它们放置在右框下,但您可以将它们放置在任何您想要的位置

.floatbox {
display: inline-block;
width: 175px;
margin: 0;
padding-top: 5px;

}
.floatbox input, select, label {
    width: 150px;
    margin: 0px;
}
.EntryFieldSet {
    width: 735px;
    padding-left: 15px;
    overflow: hidden;
}
#screeningButtons{
    float:right;
    padding-right:30px;
}

您可以做上面的回答,但如果使用display:inline块,实际上根本不需要浮点。我只在float中添加了按钮,以将它们放置在右框下,但您可以将它们放置在任何您想要的位置

.floatbox {
display: inline-block;
width: 175px;
margin: 0;
padding-top: 5px;

}
.floatbox input, select, label {
    width: 150px;
    margin: 0px;
}
.EntryFieldSet {
    width: 735px;
    padding-left: 15px;
    overflow: hidden;
}
#screeningButtons{
    float:right;
    padding-right:30px;
}

您还可以使用CSS3属性
nth的类型
,并在其中添加清除标记,而不是额外的标记。显然,这是一个针对较新浏览器的解决方案,但使用了优秀的selectivizr JS库,它将添加向后功能。您还可以使用CSS3属性
nth的类型
,并在其中添加清除标记,而不是额外的标记。显然,这是一个针对较新浏览器的解决方案,但是使用了优秀的selectivizr JS库,这将添加向后功能。