IE7下元素的 'padding-top' 遇到 'clear' 特性在某些情况下复制到 'padding-bottom'
时间:2022-04-22
本文章向大家介绍IE7下元素的 'padding-top' 遇到 'clear' 特性在某些情况下复制到 'padding-bottom',主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
项目中使用的是DIV+CSS布局,有一个页面是同事完成的,这几天他请假有事。项目发现一个UI Bug。在IE7下,某一个Div的padding-top会让整个div产生padding-bottom样式。在IE8/9、Firefox、Chrome下都是OK。
通过搜索发现是发现问题的答案:
链接地址是:http://w3help.org/zh-cn/causes/RM1010
在项目开发过程中,开发人员为了让div的高度随着内容自动增加,所以经常在div的关闭之前会添加一个类似clearfix的div。这个div的结构如下:
<div class=”clearfix”> </div> 样式是: .clearfix{clear: both;}。通过上面链接的解释是未触发hasLayout 特性。平时对这个特性接触的不多,所以不是很明白。
但是之前的项目我们也未采用链接所说的解决方案,但是项目的兼容性是很不错的。后来通过查看之前项目的代码,我们在给最外层的div添加一个高度时,padding-bottom样式不会出现。但是我们此时内容无法自动扩充。
所以在需要自动扩展内容的div中嵌入一个<div class=”clearfix”></div>,此时最外层不能添加height,达到内容自动扩充。代码如下:
1: <html xmlns="http://www.w3.org/1999/xhtml"> 2: <head> 3: <title>元素"padding-top"会出现"padding-bottom" in IE7中</title> 4: <style type="text/css"> 5: body 6: { 7: padding:0; 8: margin:0; 9: } 10: .clearfix 11: { 12: clear:both; 13: height:0; 14: } 15: #container 16: { 17: 18: background:#CCC; 19: 20: border:2px solid black; 21: padding-top:10px; 22: 23: } 24: .leftpanel 25: { 26: float:left; width:50px; height:100px; background:#666; 27: } 28: .rightpanel 29: { 30: float:left; width:500px; background:green; 31: } 32: </style> 33: </head> 34: <body> 35: <div id="container"> 36: <div class="leftpanel">Left Panel Content Here!</div> 37: 38: <div class="rightpanel">Right Panel Content Here!Right Panel Content Here! 39: Right Panel Content Here!Right Panel Content Here! 40: Right Panel Content Here!Right Panel Content Here!<div class="clearfix"></div></div> 41: <div style="clear:both;"></div> 42: </div> 43: </body> 44: </html>
<!-- .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } -->
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 『Python动手学』Python处理.mat文件
- Swift 打开三方地图 腾讯地图、百度地图、高德地图、Apple 地图
- 初学者应该看的JavaScript Promise 完整指南
- React Advanced Topics
- try catch引发的性能优化深度思考
- 用于自动驾驶车辆视觉定位的地图存储:ORB-SLAM2的一种拓展
- c# 动态产生控件 注册动态控件事件
- leetcode 一些算法题及答案
- 得分--UVa1585
- 如何计算一个程序的运行时间
- c语言输入回车结束输入
- C# devExpress BandedGridView属性 备忘
- 结构体的应用及所有形式
- 百炼1003
- 百炼1005