浮动元素引起的问题有哪些?怎么解决?
1个回答
展开全部
浮动元素引起的问题:
1. 父元素的高度无法被撑开,影响与父元素同级的元素
2. 与浮动元素同级的非浮动元素会跟随其后
3. 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构
解决方法:
使用 CSS 中的 clear:both; 属性来清除元素的浮动可解决 2、3 问题,对于问题 1,添加如下样式,给父 元素添加 clearfix 样式:
.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}
.clearfix{display: inline-block;} /* for IE/Mac */
清除浮动的几种方法:
1. 额外标签法,
(缺点:不过这个办法会增加额外的标签使 HTML 结 构看起来不够简洁。)
2. 使用 after 伪类
#parent:after{
content:"."; height:0; visibility:hidden; display:block; clear:both;
}
3. 浮动外部元素
4. 设置 overflow 为 hidden 或者 auto
21、IE 8 以下版本的浏览器中的盒模型有什么不同
IE8 以下浏览器的盒模型中定义的元素的宽高不包括内边距和边框
1. 父元素的高度无法被撑开,影响与父元素同级的元素
2. 与浮动元素同级的非浮动元素会跟随其后
3. 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构
解决方法:
使用 CSS 中的 clear:both; 属性来清除元素的浮动可解决 2、3 问题,对于问题 1,添加如下样式,给父 元素添加 clearfix 样式:
.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}
.clearfix{display: inline-block;} /* for IE/Mac */
清除浮动的几种方法:
1. 额外标签法,
(缺点:不过这个办法会增加额外的标签使 HTML 结 构看起来不够简洁。)
2. 使用 after 伪类
#parent:after{
content:"."; height:0; visibility:hidden; display:block; clear:both;
}
3. 浮动外部元素
4. 设置 overflow 为 hidden 或者 auto
21、IE 8 以下版本的浏览器中的盒模型有什么不同
IE8 以下浏览器的盒模型中定义的元素的宽高不包括内边距和边框
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询