CSS 动态元素破坏布局
CSS on Dynamic Elements breaks Layout
目前我有 2 个并排放置的子容器元素。一是左侧导航菜单,二是右侧内容展示区。这些在 Document.Ready() 函数中填充,但是这样做会导致页面布局中断,因为这些后面的容器不会扩展。
我已经尝试设置各种显示元素,例如 "block"、"inline" 等,只是为了看看它是否能解决问题,但到目前为止我没有任何运气。任何人都可以提供有关这种情况下可能出现的问题的见解吗?
我发现我可以通过从 pluginBox 中删除 "float:left" 来修复它,但我不能再在这些元素之间放置 space。
CSS:
.containerBox {
margin: auto;
}
.catBox {
float: left;
height: 750px;
width: 20%;
overflow: auto;
margin: 0;
border: solid black 1px;
}
.pluginBox {
float: left;
margin-left: 25px;
height: 750px;
width: 75%;
overflow: auto;
border: solid black 1px;
}
HTML:
<div id="containerBox" class="containerBox">
<div id="catBox" class="catBox">
<ul id="categories" class="cat_menu"></ul>
</div>
<div id="pluginBox" class="pluginBox">
<table id="pluginTable" class="plugin_table">
</table>
</div>
</div>
这是因为您同时漂浮了两个内部容器。
您需要执行以下操作 https://jsfiddle.net/564sde36/:
.containerBox:after,
.containerBox::after {
clear: both;
content: "";
display: table;
}
这实际上是生成容器后的样式,并不意味着您需要任何额外的 html 标记。
将溢出隐藏添加到您的 contanerBox
.containerBox {
margin: auto;
overflow: hidden;
}
这里还有一个关于"clearfix"class的post,通常在容器内有浮动元素时使用:What is a clearfix?
目前我有 2 个并排放置的子容器元素。一是左侧导航菜单,二是右侧内容展示区。这些在 Document.Ready() 函数中填充,但是这样做会导致页面布局中断,因为这些后面的容器不会扩展。
我已经尝试设置各种显示元素,例如 "block"、"inline" 等,只是为了看看它是否能解决问题,但到目前为止我没有任何运气。任何人都可以提供有关这种情况下可能出现的问题的见解吗?
我发现我可以通过从 pluginBox 中删除 "float:left" 来修复它,但我不能再在这些元素之间放置 space。
CSS:
.containerBox {
margin: auto;
}
.catBox {
float: left;
height: 750px;
width: 20%;
overflow: auto;
margin: 0;
border: solid black 1px;
}
.pluginBox {
float: left;
margin-left: 25px;
height: 750px;
width: 75%;
overflow: auto;
border: solid black 1px;
}
HTML:
<div id="containerBox" class="containerBox">
<div id="catBox" class="catBox">
<ul id="categories" class="cat_menu"></ul>
</div>
<div id="pluginBox" class="pluginBox">
<table id="pluginTable" class="plugin_table">
</table>
</div>
</div>
这是因为您同时漂浮了两个内部容器。
您需要执行以下操作 https://jsfiddle.net/564sde36/:
.containerBox:after,
.containerBox::after {
clear: both;
content: "";
display: table;
}
这实际上是生成容器后的样式,并不意味着您需要任何额外的 html 标记。
将溢出隐藏添加到您的 contanerBox
.containerBox {
margin: auto;
overflow: hidden;
}
这里还有一个关于"clearfix"class的post,通常在容器内有浮动元素时使用:What is a clearfix?