不同浏览器对css的识别是有区别,因此针对不同的浏览器去写不同的CSS。下面本篇文章给大家介绍一些常用CSS书写技巧(不同浏览器之间的差异)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。这个针对不同的浏览器写不同的CSS code的过程,就叫CSS hack,也叫写CSS hack。

由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。

比如 IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",而firefox两个都不能认识。等等

书写顺序,一般是将识别能力强的浏览器的CSS写在后面。下面列举常用的CSS hack方法

1:!important

!important作用是提高指定样式规则的应用优先权。

IE7以及所有标准浏览器能识别!important

区别IE6与IE7与其他浏览器.browserTest

{

border:20px solid #60A179 !important;

border:20px solid #00F;

}

在Mozilla中或者IE7浏览时候,能够理解!important的优先级,因此显示#60A179的颜色:

在IE6中浏览时候,不能够理解!important的优先级,因此显示#00F的颜色:

2:*

IE都能识别*;标准浏览器(如火狐)不能识别*

区别IE6与火狐.browserTest

{

border:20px solid #60A179;

*border:20px solid #00F;

}

区别IE7与火狐.browserTest

{

border:20px solid #60A179;

*border:20px solid #00F;

}

区别IE7,IE6与火狐

.browserTest

{

border:20px solid #60A179;

*border:20px solid #00F !important;

*border:20px solid ###;

}

3:_

IE6支持下划线,IE7和firefox均不支持下划线

区别IE7,IE6与火狐.browserTest

{

border:20px solid #60A179;

*border:20px solid #00F;

_border:20px solid ###;

}

/*不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面*/

4:*+html 与 *html

*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.browserTest { width: 120px; } /* FireFox fixed */

*html .browserTest { width: 80px;} /* ie6 fixed */

*+html .browserTest { width: 60px;} /* ie7 fixed */

注意:

*+html 对IE7的HACK 必须保证HTML顶部有如下声明:

/*****************************************************************************/

/*****************************************************************************/

以下是一些常用的CSS兼容技巧

1)火狐下给div设置padding后会导致width和height 增加, 但IE不会.(可用!important解决)

2)垂直居中,将 line-height设置为当前div相同的高度, 再通过vertical-align: middle;( 注意内容不要换行)

3)水平居中,margin:0 auto;(当然不是万能)

4)若需给a标签内内容加上样式, 需要设置 display: block;(常见于导航标签)

5)浮动IE产生的双倍距离

在IE下,当一个div设置了float后,然后给他设置margin,就会出现加倍的margin,解决的办法是给div设置display:inline。

相应的css为#float

{

float:left;

margin:5px;/*IE下理解为10px*/

display:inline;/*IE下再理解为5px*/

}

Block元素的特点是:总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是:和其他元素在同一行上,...不可控制(内嵌元素);

6)IE和FF对盒模型的解释区别#browserTest{ width: 650px !important;width: 648px;padding-left:2px;background:#fff; }

browserTest显示的宽度是650px;

IE Box的总宽度是:width+padding+border+margin宽度总和;

FF Box的总宽度就是:width的宽度,padding+border+margin的宽度在含在width内。

如果有BOX{WIDTH:"300"; PADDING:"5PX";}

则BOX在IE的宽度应该为:310

而在FF的宽度则是300

所以在BOX有填充的情况下应该这样使用BOX{WIDTH:"300" !IMPORTANT; WIDTH:"290";}

7)ul标签在FF下面默认有list-style和padding, 最好事先声明, 以避免不必要的麻烦;(常见于导航标签和内容列表)

8)作为外部wrapper的div不要定死高度, 最好还加上 overflow: hidden;以达到高度自适应;

9)页面的最小宽度

min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,

而它实际上把width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个

放到 标签下,然后为div指定一个类:

然后CSS这样设计:#container{ min-width: 600px; width:expression(document.body.clientWidth < 600? "600px": "auto" );}

第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。

10:万能float闭合

将以下代码加入Global CSS 中,给需要闭合的div加上

.clearfix:after

{

content:".";

display:block;

height:0;

clear:both;

visibility:hidden;

}

*html .clearfix{

height:1%;

}

*+html .clearfix{

height:1%;

}

.clearfix

{

display:inline-block;

}

/* Hide from IE Mac */

.clearfix {display:block;}

/* End hide from IE Mac */

/* end of clearfix */

/**********************************************/

Float left

Float right

#wrap{ border:6px #ccc solid; overflow:auto; _height:1%;}

.column_left{ float:left; width:20%; padding:10px;}

.column_right{ float:right; width:75%; padding:10px; border-left:6px #eee solid;}

更多web前端开发知识,请查阅 HTML中文网 !!

html浏览器的区别是什么意思,不同浏览器对css的识别有区别吗?相关推荐

  1. safari 浏览器提示添加到主屏幕_Safari浏览器的秘密技能

    Safari浏览器是苹果设备的内置浏览器,我发现很多朋友觉得它不好用,就把它放在一个不常用文件夹的角落里,然后下载了第三方的浏览器O__O "- 其实Safari有一些超级好用的技巧,熟练掌 ...

  2. How browsers work -Behind the scenes of modern web browsers 浏览器到底是怎么工作的、浏览器的工作原理(完整中文翻译)

    How browsers work -Behind the scenes of modern web browsers 有空翻译一下这篇必读的文章 -浏览器到底是怎么工作的.浏览器的底层原理是啥.浏览 ...

  3. 这5个特点才是合格浏览器具备的,看看你的浏览器有吗

    每个人都有自己心中灿烂的烟火,同时也有自己习惯使用的浏览器.但是,你用的浏览器真的是一款合格的浏览器吗?没错,今天又想给大家分享好用的浏览器了,都是无广告.速度快.性能稳定的安全浏览器. 合格的浏览器 ...

  4. Chrome浏览器:分享几个好玩的浏览器扩展

    浏览器扩展推荐 Chrome浏览器:BD最美浏览器新标签页扩展 1.Stylish 推荐指数:★★★★ Chrome浏览器:BD最美浏览器新标签页扩展 利用用户样式管理器Stylish来重新编辑网站的 ...

  5. 基于HTTP浏览器缓存机制全面解析看Table表格的css样式代码详解

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 漂亮的table表格样式 ...

  6. brave浏览器_兼容Chrome 插件的Brave浏览器,带给你更快速的上网冲浪体验

    目前浏览器中用的比较多的还是Chrome,尽管后来Firefox 和360用的人都是很多,在其浏览器中加入了像是扩展等功能,但不讳言的是Firefox 在速度上有点差强人意,相容性也不够全面,整体来说 ...

  7. 兼容浏览器_你知道什么是跨浏览器兼容吗?

    文章来自:卓码软件测评 在过去的二十年里,互联网得到了巨大的发展.1998年只有大约240万个网站,而现在已经有大约18亿个了,这正好是74900%的增长.不仅如此,互联网用户的数量也从1998年的1 ...

  8. JS window对象 Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。...

    Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本. 对象属性: 查看浏览器的名称和版本,代码如下: <script type=" ...

  9. 360浏览器打不开qq空间_浏览器变慢有救了!只要2秒,重回新安装一样爽快!

    而最近有小伙伴在后台留言,说自己电脑浏览器用久了后,速度变得越来越慢了. 特别是用久后,每次打开浏览器加载半天,经常白屏卡上那么一小会,体验上要比看这 loging 在转还难受,差点以为死机了. 其实 ...

最新文章

  1. 组策略 从入门到精通(二) 如何区别跨越WAN网的计算机对组策略的套用
  2. MyBatis SQL语句操作Mysql
  3. 编程之美 3.10 分层遍历二叉树
  4. Linux宝塔面板介绍 Centos安装宝塔面板教程
  5. 解压版本的tomcat服务安装
  6. ArrayList单列集合的简单使用常见方法
  7. 高质量的工程代码为什么难写
  8. java long类型判断_Java中的long类型和Long类型比较大小
  9. 文章采集伪原创工具_伪原创文章技巧(如何提高伪原创文章的原创度)
  10. python 生成器装饰器_七.python迭代器生成器装饰器
  11. crawl spider
  12. 如何下载城通网盘的东西?
  13. 如何用matlab画北极熊,简笔画:如何使用Flash绘制北极熊,值得收藏
  14. 总结jquery-seat-charts插件使用方法
  15. MvcPager分页控件
  16. android pc控制工具,电脑控制iPhone 或Android方法?透过这款工具就能实现
  17. 小程序地理位置接口wx.getLocation申请审核解决方法(详细说明及避坑)
  18. 【笔记-uni app】《uni-app 快速入门 从零开始实现新闻资讯类跨端应用》
  19. 人脸识别门禁的那些“坑”,你中招了吗?
  20. NavigationController 常用方法归总

热门文章

  1. 解决:Command line is too long. In order to reduce its length classpath file can be used.
  2. 1分钟看懂:java 项目中 VO 、DTO、Entity,各自是在什么情况下应用的
  3. 解决:java.io.IOException: invalid constant type: 15
  4. POI 方式-excle 表格导出实现-java-poi
  5. 廖雪峰Java1-2程序基础-7布尔运算符
  6. PYTHON 爬虫笔记十一:Scrapy框架的基本使用
  7. Cadence 电源完整性仿真实践(二)
  8. 13,反转链表《剑指offer》
  9. 数据库事务的隔离机制
  10. PictureBox