自己在重制后台时,添加一个表单标签效果,整行显示的没有任何问题,但是以标签列表形式显示的却出现了点问题,就是标签无法撑开外层 DIV,直接显示到了 DIV 外,具体看图片:

插图1 - 解决 CSS FLOAT 浮动引起的父级 DIV 不能自适应高度问题 - 紫茉莉.ME

经过多方搜索,确定是当在对象内部元素使用了 FLOAT 后,导致对象本身不能被撑开自适应高度,这个是因为浮动产生的。

解决方法有三种:

一、给对象设置高度,但是这里高度是需要自适应的,PASS。

二、标签列表最后再添加一个元素,设置 CLEAR: BOTH,在标签后添加一个元素需要改的 JS 比较复杂,并且试验后还是不行,理论上来说是可行的。

三、这种方法非常简单,推荐为解决父级不能被撑开自适应高度的最佳方法,只需要对对象加一个 OVERFLOW: HIDDEN 的 CSS 样式即可,对象就可以根据内部元素自适应高度了。

修改后显示效果:

插图2 - 解决 CSS FLOAT 浮动引起的父级 DIV 不能自适应高度问题 - 紫茉莉.ME

修改前相关 CSS 代码:

//* 父层
.form-tags .tag-front.list-tags {
	padding: 5px;
	min-height: 26px;
}
//* 标签
.form-tags .list-tags .tag-item {
	float: left;
	margin: 5px;
}

修改后相关 CSS 代码:

//* 父层
.form-tags .tag-front.list-tags {
	padding: 5px;
	min-height: 26px;
	overflow: hidden;
}
//* 标签
.form-tags .list-tags .tag-item {
	float: left;
	margin: 5px;
}