如何让CSS的标签兼容不同的浏览器

html-css032

如何让CSS的标签兼容不同的浏览器,第1张

如何让CSS的标签兼容不同的浏览器

在不同浏览器, 标签呈现的效果是有区别的。所以小面我来谈谈如何让CSS的标签兼容不同的浏览器。

作为块级元素的 标签,在写CSS文件时, 最好定义行高line-height, 不要定义高度height,因为定义了高度, 就限制了块级元素 的高度, 在不同浏览器, 很难实现比较统一的效果,我曾经遇到,在IE6,FIREFOX(FF)效果完好, 而在IE7,标题的文字只出来一半。 且 标题在不同的布局中, 会有不同的行数要求, 比如在侧栏等小地方, 标题很可能有2行或3行, 如果高度被定义了, 那么大部分浏览器都会出现错误的显示, 很拥挤或没有显示, 如果设置了底部边线, 还可能错位。

所以 标签, 最好不要定义高度height,但一定要定义行高line-height,其他数值,根据实际效果适当变化。这样, 对不同浏览器的兼容性是最好的。

h3 {

font-size:14px

margin: 15px 0px 10px 0px

padding: 3px 0px 3px 0px

line-height:20px

color:#55295etext-align:left

border-bottom: 1px dotted #55295e

}

标签一般介绍

标签是一个标题标签,常用做网站主题、文章标题或用在段落之前,用于表明整个网站、整篇文章或段落要表达的`意思。根据显示和要表达意思的级别可以分为H1,H2,H3,H4,H5,H6。

标签成对出现,以 开始,以 结束。

在一个WEB页面中,H1标签最好(理论上是应该)只出现一次,因为它代表该WEB页面的主题。在实际操作中,建议不要使用 h1 来定义文章标题,而是用来定义网站标题。我有一个网站, 在首页一段文字前用了H1,并合理地分布了H2,H3,H4,结果十天以后, 原来排在第一页的关键词, 就掉到了第四页。因此, 用一次H2做页面一级标题,比较安全。

H1的重要性最高,常用于表达对整个网站的作用和性质的描述,或表示网站面向的受众群体。其他标签根据级别的不同分别用于显示某个专区的名称,或某段介绍文字的大概描述。

因它表示对网站或某段文字的大体描述,所以相对于搜索引擎来说H标签具有很高的价值。但这并不意味着可以随意的使用。比如,有些网站为了刻意追求特定关键字的排名,而在一段文字中使用H标签来展示关键字。或干脆把H标签当做一个容器来对网页进行布局。这样完全混淆了H标签的作用,也是不推荐的。

标签代表了一个网页的重点层次,但不要过度使用。否则会受到搜索引擎的不同程度的降权。

标签的使用和控制,合理安排网页层次

h1,h2,h3,是经常用到的标题标志,权重比STONRG高一点。以前我曾在一个网页里多次使用H1,结果很长时间在GG的收录都是补充页面(更新,外连正常)。H标题作为关键词布局的一个重要方面,一定程度上决定了网页的层次结构和轻重布局。很多著名的站点都使用H类标题,用法上略有区别,比较灵活。

1、按照内容的重要性来定义:

使用 h1 定义网站标题

使用 h2 定义文章标题

使用 h3 定义栏目标题

2、按照网站的层次来定义:

使用 h1 定义网站标题

使用 h2 定义栏目标题

使用 h3 定义文章标题

标签CSS样式设置

标签默认的表现样子一般不尽如人意, 不能满足网页设计的要求。好在 标签是块级元素,适用块级元素的属性, 标签均可使用,因此, 标签可以通过CSS加以完美控制。

内外空白边距,可以通过外边距margin和内边距padding控制

h1 {margin:0pxpadding:0px}

字体的字号,颜色,字体控制

h1 {font-size:14pxcolor:#55295efont-family:Verdana,Arial, Helvetica,sans-serif}

高度和宽度的控制

h1 {height:20pxwidth:400pxline-height:20px}

行高的控制

h1 {line-height:20px}

文本对齐方式的控制, 可以是left,right,center。

h1 {text-align:left}

边框的控制

h1 {border: 1px dotted #55295e}

背景的控制

h1 {background: #ccc url(images/test.jpg) no-repeat top }

rem是css3新增的字体大小单位,IE6/7/8不支持。

解决办法是在每次在用rem设置字体大小的时候,前面再加一个px为单位的字体大小,比如

font-size: 12pxfont-size: 1.5rem

这样的话凡是不支持rem的浏览器会使用12px,否则就用1.5rem。当然IE6/7/8中的效果肯定无法达到理想效果,但总算是能够调整字体大小了。

其实最好的解决办法还是要取决于你网站的定位:如果你希望自己的网站漂亮一些、洋气一些、现代感强一些,就不要过多去考虑兼容性问题(尤其是IE),否则会吃力不讨好的,只能提醒用户换用新式的浏览器;而如果确信自己网站的用户使用低版本浏览器的比例仍然很高,那么就应该牺牲网站的一些颜值,尽可能不使用css3的新特性,只用那些放之四海而皆准的五毛钱特效即可。

整理关于IE6、IE7、IE8、Firefox兼容性CSS HACK问题,另外CSS3的兼容性不是很好,但是在未来有前途。\x0d\x0a\x0d\x0a1.区别IE和非IE浏览器CSS HACK代码\x0d\x0a\x0d\x0a#divcss5{\x0d\x0abackground:blue/*非IE 背景蓝色*/\x0d\x0abackground:red \9/*IE6、IE7、IE8背景红色*/\x0d\x0a} \x0d\x0a\x0d\x0a2.区别IE6,IE7,IE8,FF CSS HACK \x0d\x0a【区别符号】:「\9」、「*」、「_」\x0d\x0a【示例】:\x0d\x0a\x0d\x0a#divcss5{\x0d\x0abackground:blue/*Firefox 背景变蓝色*/\x0d\x0abackground:red \9/*IE8 背景变红色*/\x0d\x0a*background:black/*IE7 背景变黑色*/\x0d\x0a_background:orange/*IE6 背景变橘色*/\x0d\x0a} \x0d\x0a\x0d\x0a【说明】:因为IE系列浏览器可读「\9」,而IE6和IE7可读「*」(米字号),另外IE6可辨识「_」(底线),因此可以依照顺序写下来,就会让浏览器正确的读取到自己看得懂得CSS语法,所以就可以有效区分IE各版本和非IE浏览器(像是Firefox、Opera、Google Chrome、Safari等)。\x0d\x0a\x0d\x0a3.区别IE6、IE7、Firefox (EXP 1) \x0d\x0a【区别符号】:「*」、「_」\x0d\x0a【示例】:\x0d\x0a\x0d\x0a#divcss5{\x0d\x0abackground:blue/*Firefox背景变蓝色*/\x0d\x0a*background:black/*IE7 背景变黑色*/\x0d\x0a_background:orange/*IE6 背景变橘色*/\x0d\x0a} \x0d\x0a\x0d\x0a【说明】:IE7和IE6可读「*」(米字号),IE6又可以读「_」(底线),但是IE7却无法读取「_」,至于Firefox(非IE浏览器)则完全无法辨识「*」和「_」,因此就可以透过这样的差异性来区分IE6、IE7、Firefox\x0d\x0a\x0d\x0a4.区别IE6、IE7、Firefox (EXP 2) \x0d\x0a【区别符号】:「*」、「!important」\x0d\x0a【示例】:\x0d\x0a\x0d\x0a#divcss5{\x0d\x0abackground:blue/*Firefox 背景变蓝色*/\x0d\x0a*background:green !important/*IE7 背景变绿色*/\x0d\x0a*background:orange/*IE6 背景变橘色*/\x0d\x0a} \x0d\x0a\x0d\x0a【说明】:IE7可以辨识「*」和「!important」,但是IE6只可以辨识「*」,却无法辨识「!important」,至于Firefox可以读取「!important」但不能辨识「*」因此可以透过这样的差异来有效区隔IE6、IE7、Firefox。\x0d\x0a\x0d\x0a5.区别IE7、Firefox \x0d\x0a【区别符号】:「*」、「!important」\x0d\x0a【示例】:\x0d\x0a\x0d\x0a#divcss5{\x0d\x0abackground:blue/*Firefox 背景变蓝色*/\x0d\x0a*background:green !important/*IE7 背景变绿色*/\x0d\x0a} \x0d\x0a\x0d\x0a【说明】:因为Firefox可以辨识「!important」但却无法辨识「*」,而IE7则可以同时看懂「*」、「!important」,因此可以两个辨识符号来区隔IE7和Firefox。\x0d\x0a\x0d\x0a6.区别IE6、IE7 (EXP 1) \x0d\x0a【区别符号】:「*」、「_」\x0d\x0a【示例】:\x0d\x0a\x0d\x0a#tip {\x0d\x0a*background:black/*IE7 背景变黑色*/\x0d\x0a_background:orange/*IE6 背景变橘色*/\x0d\x0a} \x0d\x0a\x0d\x0a【说明】:IE7和IE6都可以辨识「*」(米字号),但IE6可以辨识「_」(底线),IE7却无法辨识,透过IE7无法读取「_」的特性就能轻松区隔IE6和IE7之间的差异。\x0d\x0a\x0d\x0a7.区别IE6、IE7 (EXP 2) \x0d\x0a【区别符号】:「!important」\x0d\x0a【示例】:\x0d\x0a\x0d\x0a#divcss5{\x0d\x0abackground:black !important/*IE7 背景变黑色*/\x0d\x0abackground:orange/*IE6 背景变橘色*/\x0d\x0a} \x0d\x0a【说明】:因为IE7可读取「!important」但IE6却不行,而CSS的读取步骤是从上到下,因此IE6读取时因无法辨识「!important」而直接跳到下一行读取CSS,所以背景色会呈现橘色。\x0d\x0a\x0d\x0a8.区别IE6、Firefox \x0d\x0a【区别符号】:「_」\x0d\x0a【示例】:\x0d\x0a\x0d\x0a#divcss5{\x0d\x0abackground:black/*Firefox 背景变黑色*/\x0d\x0a_background:orange/*IE6 背景变橘色*/\x0d\x0a} \x0d\x0a【说明】:因为IE6可以辨识「_」(底线),但是Firefox却不行,因此可以透过这样的差异来区隔Firefox和IE6,有效达成CSS hack。\x0d\x0a\x0d\x0a以上包括了IE6\IE8\IE7\火狐浏览器兼容问题及解决方法。