• 新入门的小白,整理一下特别简单实用的div+css兼容性的问题。


      最近整理了一下特别简单的div+css的不同浏览器的兼容性的问题,跟大家分享一下,只适合刚入门的新手,欢迎大牛们给提出意见。
    1. 默认的内外边距不同
    问题:
    各个浏览器默认的内外边距不同
    解决:
    *{margin:0;padding:0;}
    2. 水平居中的问题
    问题:
    设置 text-align: center   
    ie6-7文本居中,嵌套的块元素也会居中
    ff /opera /safari /ie8文本会居中,嵌套块不会居中
    解决:
    块元素设置 
    1、margin-left:auto;margin-right:auto
    2、margin:0 auto;
    3. 垂直居中的问题
    问题:
    在浏览器中 想要垂直居中,设置vertical-align:middle; 不起作用。例如:ie6下文本与文本输入框对不齐,需设置vertical-align:middle,但是文本框的内容不会垂直居中
    解决:
    给容器设置一个与其高度相同的行高
    line-height:与容器的height一样
    4. 关于高度问题
    问题:
    如果是动态地添加内容,高度最好不要定义。浏览器可以自动伸缩,然而如果是静态的内容,高度最好定好。
    如果设定了高度,内容过多时,ie6下会自动增加高度、其他浏览器会超出边框
    解决:
    1.设置overflow:hidden;
    2.高度自增height:auto!important;height:100px;  
    5. IE6 默认的div高度
    问题:
    ie6默认div高度为一个字体显示的高度,所在ie6下div的高度大于等于一个字的高度,因此在ie6下定义高度为1px的容器,显示的是一个字体的高度
    解决:
    为这个容器设置下列属性之一
    1、设置overflow:hidden;
    2、设置line-height:1px;
    3、设置zoom:0.08
    6. IE6 最小高度(宽度)的问题
    问题:
    ie6不支持min-height、min-width属性,默认height是最小高度,width是最小宽度。
    解决:
    使用ie6不支持但其余浏览器支持的属性!important。
    设置属性min-height:200px; height:auto !important; height:200px;  
    7. td高度的问题
    问题:
    table中td的宽度都不包含border的宽度,但是oprea和ff中td的高度包含了border的高度
    解决:
    设置line-height和height一样。在ie中如果td中的没有内容,那么border将不会显示
    8. div嵌套p时,出现空白行
    问题:
    div中显示文本,ff、oprea、Chrome:top和bottom都会出现空白行,但是在ie下不会出现空白行。
    解决:
    设置p的margin:0px,再设置div的padding-top和padding-bottom
    9. IE6-7图片下面有空隙的问题
    问题:
    块元素中含有图片时,ie6-7中会出现图片下有空隙
    解决:  
    1、在源代码中让和在同一行
    2、将图片转换为块级对象display:block;
    3、设置图片的垂直对齐方式  vertical-align:top/middle/bottom
    4、改变父对象的属性,如果父对象的宽、高固定,图片大小随父对象而定,那么可以对父元素设置: overflow:hidden; 
    5、设置图片的浮动属性  float:left;
    10. IE6双倍边距的问题
    问题:
    ie6中设置浮动,同时又设置margin时,会出现双倍边距的问题
    例float:left;100px;margin:0 100px; 
    解决:
    设置display:inline;
    11. IE6 weidth为奇数,右边多出1px的问题
    问题:
    父级元素采用相对定位,且宽度设置为奇数时,子元素采用绝对定位,在ie6中会出现右侧多出1像素 
    解决:
    将宽度的奇数值改成偶数
    12. IE6两个层之间3px的问题
    问题:
    左边层采用浮动,右边没有采用浮动,这时在ie6中两层之间就会产生3像素的间距
    解决:
    1、右边层也采用浮动  float
    2、左边层添加属性  margin-right:-3px;
    13. IE6 子元素绝对定位的问题
    问题:
    父级元素使用padding后,子元素使用绝对定位,不能精确定位
    解决:
    在子元素中设置  _left:-20px; _top:-1px;
    14. 显示手型cursor:hand
    问题:
    ie6/7/8、opera       都支持  但是safari 、 ff 不支持
    解决:
    写成 cursor:pointer;  (所有浏览器都能识别)   
    15. IE6-7 line-height失效的问题
    问题:
    在ie中img与文字放一起时, line-height不起作用  
    解决:
    都设置成float
    16. td自动换行的问题
    问题:
    Table宽度固定,td自动换行
    解决:
    设置Table的table-layout:fixed,td的word-wrap:break-word
    17. 子容器浮动后,父容器扩展问题
          问题:
          子容器都float以后,父容器没有设定高度,父容器将不会扩展
          解决:
          只需要添加一个clear:both的div,代码如下:

               <div style="border:1px solid #333;204px"

               <div style="100px;border:1px solid #333; float:left; ">子容器a<div

               <div style="100px;border:1px solid #333; float:left;">子容器b<div

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

               <div

    18. 透明png图片会带背景色
    问题:
    在ie6下透明的png图片会带一个背景色
    解决:
    background-image: url(icon_home.png);/* 其他浏览器 */
    background-repeat: no-repeat;
    _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='icon_home.png'); /* IE6 */
    _background-image: none; /* IE6 */
    19. list-style-position默认值的问题
    问题:
    ie下list-style-position默认为inside,   firefox默认为outside
    解决:
    css中指定为outside即可解决兼容性问题
    20. list-style-image准确定位的问题
    问题:
    li前设置图片时,图片与其后的文字对齐问题
    解决:
    1、采用背景定位 和 字符缩进的方法
    background:url() no-repeat left center; text-index:16px;
    2、采用相对定位方法
    li 设置list-style:url();
    li的子元素position:relative;top:-5px;

     

     
  • 相关阅读:
    老虎Sitemap生成器 0.5.3
    东北虎介绍
    老虎Sitemap生成器 0.5.2
    面向对象的 Javascript 语言特性:作用域
    诚聘ASP.NET开发人员[杭州]
    treegridview
    老虎Sitemap生成器 0.2
    1
    面向对象的 Javascript 函数重载和类型检查
    欢迎使用 老虎关键词排名查询器 v0.2.5
  • 原文地址:https://www.cnblogs.com/ant-killer/p/6144825.html
Copyright © 2020-2023  润新知