css 兼容性书写记录

转载 2012年03月21日 11:55:20
 
点评:很早开始就知道css hack并使用之,以前觉得css hack是个很神奇的东西能解决很多兼容性问题,渐渐地发现,其实不容hack的页面才是更好的选择
从页面开始布局设计初就考虑到各个浏览器的问题,留出充足的余量和给各个浏览器留出充足的发挥空间,这样的页面兼容性才是最好的。
  下面就来几个问题:
  1、div border不能显示
  问题描述:用一个div A层中间放了几个div B来存放内容,因为内容是不固定的,于是就使用了对B层使用了float,让A层自适应高度,后面对A层加上边框,在ie中能显示,但是在firefox中就始终没法显示。
  问题分析:B层使用了float,位置浮起,A层边框不能显示
  解决方案:对A开始使用一个浮动清除<div style="clear:both"></div>

  2、cms ie6的内容页面不能全部显示
  问题描述:cms内容页中ie6能显示部分的内容,在其他浏览器中显示能正常全部显示
  问题分析:查看代码,其中有.content{height:auto !importan;height:500px;min-height:500px;},应该是布局是为了好看,留下了500px的高度,其实内容页自适应就可以了,在ie6中的min-height是不兼容的于是就是固定高度500px,超出后也不能显示了。
  解决法案:.content{height:auto;}高度自适应

  3、关于margin和padding撑破外层div的问题
  问题描述:使用div margin padding 布局,整体框架设定号,开始添加内容时使用了margin padding对内容定位,最终在ie6中将整个div撑破,排版打乱
  问题分析:ie6中间margin+padding+border+height(width)=盒子的实际尺寸,于是开始设计的尺寸加上定位的margin和padding就导致了撑破div
  解决方案:定位改为position定位,使用position="relative"相对于本身原位置定位,自身位置保留,相邻div依靠原位置,定位可以把原来margin和padding多撑出位置重叠在一起,多出重叠部分无内容对用户体验上无影响。
 
  4、使用jquery slidetoggle 出现闪烁问题
  问题描述:使用jquery slidetoggle ie6和ie7出现闪烁问题
  问题分析:查找资料 对slidetoggle 的子元素使用了position:relative position:absolute 等出现闪烁,自查原因使用了float:left出现闪烁
  解决方案:解决方案:添加上<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">则可以解决问题,但是本句话前不能有其他注释,开始未能解决时因为在页面的开始有了一个空注释(如问题5中),当问题5解决了,后面反思,得出了这个方案。
      其实前面在网上也查了相关资料,解决法案正是如此,但是由于前面有一个空注释,所以没有出现效果,后面把空注释解决了,才恍然醒悟。
  
  5、静态页布局兼容大部分浏览器,加上动态数据后在ie6 和 ie7中居中的内容就偏左了
  问题描述:做静态页布局时,很是仔细,因为知道不用css hack的布局做出来的兼容性才是最好的,于是很是仔细的做完,测试了各个浏览器,兼容性也很好,但加上数据后就出现偏移了。
  问题分析:经过再三的坚持,发现,在输出数据时,页面的头部多了一个<!---->空注释,于是就偏移了。
  解决方案:去除页面开始的<!---->

  6、使用jquery slidetoggle是子元素出现快于父元素出现和消失,但下拉还未完成,子元素出现一闪出现,给人以突兀的感觉

  问题描述:使用了jquery slidetoggle 元素下刚开始下来是,子元素则一闪而现,即一点击则出现,很是突兀
  问题分析:经过查找,发现是子元素使用了position:relative的原因造成
  解决法案:去除子元素中position:relative 的属性

各浏览器兼容性css写法

/* 针对Chrome谷歌浏览器内核支持的CSS样式 */ @media screen and (-webkit-min-device-pixel-ratio:0) {     样式 /* 例如 ...
  • lizengzeng123
  • lizengzeng123
  • 2014-05-15 19:41:12
  • 1867

css样式的书写顺序及原理——很重要!

记得刚开始学习前端的时候,每次写css样式都是用到什么就在样式表后添加什么,完全没有考虑到样式属性的书写顺序对网页加载代码的影响。后来逐渐才知道正确的样式顺序不仅易于查看,并且也属于css样式优化的一...
  • qq_36060786
  • qq_36060786
  • 2018-02-11 16:48:12
  • 176

整理推荐的CSS属性书写顺序

一. Mozilla 建议CSS规则 /* Suggested order: * display * list-style * position * float * clear * ...
  • SyKent
  • SyKent
  • 2012-08-13 22:51:20
  • 6235

在书写高效 CSS 时会有哪些问题需要考虑?

1.样式是:浏览器是从右向左来解析一个选择器的 2.ID最快,Universal最慢 有四种类型的key selector,解析速度由快到慢依次是:ID、class、tag和universal 3.不...
  • xujie_0311
  • xujie_0311
  • 2014-12-30 21:03:23
  • 1353

目前最全的浏览器/CSS选择器兼容性总结

2009年2月24日,Safari 4.0beta版正式发布,Safari从它的3.2版本开始就已经支持所有的CSS选择器(包括最新的CSS3)。不过为了方便大家的工作,下面提供了最新版本的CSS选择...
  • wxl2012
  • wxl2012
  • 2010-01-11 17:06:00
  • 3855

CSS-选择器及其兼容性

标签选择器就是用标签名来当做选择器。 1 、所有标签都能够当做选择器,比如body、h1、dl、ul、span等等 2 、不管这个标签藏的多深,都能够被选择上。 3 、选择的是所有的,而不是某一...
  • yume_sola
  • yume_sola
  • 2017-04-17 20:29:23
  • 867

CSS变量试玩儿

CSS很美妙,能够为您的页面穿上衣裳,各种各样五彩斑斓的衣裳,但是对于开发者来说,它又不够灵动,于是乎有了各种各样的预处理器Sass、LESS、Stylus,这些预处理器可以很大程度的提高CSS的灵活...
  • whqet
  • whqet
  • 2015-02-12 10:24:38
  • 8417

Web前端开发规范:CSS书写规范

1.CSS3种基本类型重新定义HTML样式:为设计师重新定义已有的HTML标签样式。用于统一网页中某一标签的样式。如a { color:#ccc; text-decoration:none;...
  • qq_26129689
  • qq_26129689
  • 2016-09-25 13:54:36
  • 375

CSS3 Filter兼容性表

CSS3魔法堂:CSS3滤镜及Canvas、SVG和IE滤镜替代方案详解 CSS3 Filter兼容性表 SVG effect for HTML兼容性表...
  • qq_16494241
  • qq_16494241
  • 2016-06-16 10:27:27
  • 2855

CSS学习三~~相对定位,绝对定位,兼容性基础

CSS浮动和清除 Float:元素浮动,取值:left或right (1)浮动元素可以向左或向右浮动,浮动到包围元素的边框或上一个浮动元素的边上为止; (2)元素浮动起来后,所占的空间就消失了,...
  • Carlos__z
  • Carlos__z
  • 2014-07-24 20:55:34
  • 1772
收藏助手
不良信息举报
您举报文章:css 兼容性书写记录
举报原因:
原因补充:

(最多只允许输入30个字)