书签 分享 收藏 举报 版权申诉 / 16

类型css兼容.docx

  • 文档编号:11213433
  • 上传时间:2023-02-25
  • 格式:DOCX
  • 页数:16
  • 大小:24.80KB

9属性选择器(这个不能算是兼容,是隐藏css的一个bug)

p[id]{}div[id]{}

这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用

属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.

10IE捉迷藏的问题

当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。

有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。

解决办法:

对#layout使用line-height属性或者给#layout使用固定高和宽。

页面结构尽量简单。

11高度不适应

高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用

margin或paddign时。

例:

p对象中的内容

CSS:

#box{background-color:

#eee;}

#boxp{margin-top:

20px;margin-bottom:

20px;text-align:

center;}

解决方法:

在P对象上下各加2个空的div对象CSS代码:

.1{height:

0px;overflow:

hidden;}或者为DIV加上border属性。

六、CSS兼容要点分析IEvsFF

CSS兼容要点:

DOCTYPE影响CSS处理

FF:

div设置margin-left,margin-right为auto时已经居中,IE不行

FF:

body设置text-align时,div需要设置margin:

auto(主要是margin-left,margin-right)方可居中

FF:

设置padding后,div会增加height和width,但IE不会,故需要用!

important多设一个height和width

FF:

支持!

important,IE则忽略,可用!

important为FF特别设置样式

div的垂直居中问题:

vertical-align:

middle;将行距增加到和整个DIV一样高line-height:

200px;然后插入文字,就垂直居中了。

缺点是要控制内容不要换行

cursor:

pointer可以同时在IEFF中显示游标手指状,hand仅IE可以

FF:

链接加边框和背景色,需设置display:

block,同时设置float:

left保证不换行。

参照menubar,给a和menubar设置高度是为了避免底边显示错位,若不设height,可以在menubar中插入一个空格XHTML+CSS兼容性解决方案小集

使用XHTML+CSS构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰,我就先把一些我遇到的问题写在下面,省的大家四处找^^

1、在mozillafirefox和IE中的BOX模型解释不一致导致相差2px解决方法:

div{margin:

30px!

important;margin:

28px;}

注意这两个margin的顺序一定不能写反,据阿捷的说法!

important这个属性IE不能识别,但别的浏览器可以识别。

所以在IE下其实解释成这样:

div{maring:

30px;margin:

28px}

重复定义的话按照最后一个来执行,所以不可以只写margin:

XXpx!

important;

2、IE5和IE6的BOX解释不一致IE5下div{width:

300px;margin:

010px010px;}div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则是以300px+10px(右填充)+10px(左填充)=320px来计算的。

这时我们可以做如下修改

div{width:

300px!

important;width/**/:

340px;margin:

010px010px}

,关于这个/**/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的话,请告诉我一声,谢了!

3、ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义

ul{margin:

0;padding:

0;}

就能解决大部分问题

4、关于脚本,在xhtml1.1中不支持language属性,只需要把代码改为

就可以了

七、10个你未必知道的CSS技巧

1、CSS字体属性简写规则

一般用CSS设定字体属性是这样做的:

font-weight:

bold;

font-style:

italic;

font-varient:

small-caps;

font-size:

1em;

line-height:

1.5em;

font-family:

verdana,sans-serif;

但也可以把它们全部写到一行上去:

font:

bolditalicsmall-caps1em/1.5emverdana,sans-serif;

真不错!

只有一点要提醒的:

这种简写方法只有在同时指定font-size和font-family属性时才起作用。

而且,如果你没有设定font-weight,font-style,以及font-varient,他们会使用缺省值,这点要记上。

2、同时使用两个类

一般只能给一个元素设定一个类(Class),但这并不意味着不能用两个。

事实上,你可以这样:

...

同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。

如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。

补充:

对于一个ID,不能这样写...

也不能这样写

3、CSSborder的缺省值

通常可以设定边界的颜色,宽度和风格,如:

border:

1pxsolid#000

这位把边界显示成3像素宽,黑色,实线。

但实际上这里只需要指定风格即可。

如果只指定了风格,其他属性就会使用缺省值。

一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。

如果这个值正好合适的话,就不用设那么多了。

4、CSS用于文档打印

许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。

也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印:

第1行就是显示,第2行是打印,注意其中的media属性。

但应该在打印CSS中写什么东西呢?

你可以按设计普通CSS的方法来设定它。

设计的同时就可以把这个CSS设成显示CSS来检查它的效果。

也许你会使用display:

none这个命令来关掉一些装饰图片,再关掉一些导航按钮。

要想了解更多,可以看“打印差异”这一篇。

5、图片替换技巧

一般都建议用标准的HTML来显示文字,而不要使用图片,这样不但快,也更具可读性。

但如果你想用一些特殊字体时,就只能用图片了。

比如你想整个卖东西的图标,你就用了这个图片:

这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。

所以方法应该是这样的:

Buywidgets

但这样就没有特殊字体了。

要想达到同样效果,可以这样设计CSS:

h1{background:

url(/blog/widget-image.gif)no-repeat;height:

imageheighttext-indent:

-2000px}

注意把imageheight换成真的图片的高度。

这里,图片会当作背景显示出来,而真正的文字由于设定了-2000像素这个缩进,它们会出现在屏幕左边2000点的地方,就看不见了。

但这对于关闭图片的人来说,可能全部看不到了,这点要注意。

6、CSSbox模型的另一种调整技巧

这个Box模型的调整主要是针对IE6之前的IE浏览器的,它们把边界宽度和空白都算在元素宽度上。

比如:

#box{width:

100px;border:

5px;padding:

20px}

这样调用它:

...

这时盒子的全宽应该是150点,这在除IE6之前的IE浏览器之外的所有浏览器上都是正确的。

但在IE5这样的浏览器上,它的全宽仍是100点。

可以用以前人发明的Box调整方法来处理这种差异。

但用CSS也可以达到同样的目的,让它们显示效果一致。

#box{width:

150px}#boxdiv{border:

5px;padding:

20px}

这样调用:

...

这样,不管什么浏览器,宽度都是150点了。

7、块元素居中对齐

如果想做个固定宽度的网页并且想让网页水平居中的话,通常是这样:

#content{width:

700px;margin:

0auto}

你会使用来围上所有元素。

这很简单,但不够好,IE6之前版本会显示不出这种效果。

改CSS如下:

body{text-align:

center}#content{text-align:

left;width:

700px;margin:

0auto}

这会把网页内容都居中,所以在Content中又加入了

text-align:

left。

8、用CSS来处理垂直对齐

垂直对齐用表格可以很方便地实现,设定表格单元vertical-align:

middle就可以了。

但对CSS来说这没用。

如果你想设定一个导航条是2em高,而想让导航文字垂直居中的话,设定这个属性是没用的。

CSS方法是什么呢?

对了,把这些文字的行高设为2em:

line-height:

2em,这就可以了。

9、CSS在容器内定位

CSS的一个好处是可以把一个元素任意定位,在一个容器内也可以。

比如对这个容器:

#container{position:

relative}

这样容器内所有的元素都会相对定位,可以这样用:

...

如果想定位到距左30点,距上5点,可以这样:

#navigation{position:

absolute;left:

30px;top:

5px}

当然,你还可以这样:

margin:

5px0030px

注意4个数字的顺序是:

上、右、下、左。

当然,有时候定位的方法而不是边距的方法更好些。

10、直通到屏幕底部的背景色

在垂直方向是进行控制是CSS所不能的。

如果你想让导航栏和内容栏一样直通到页面底部,用表格是很方便的,但如果只用这样的CSS:

#navigation{background:

blue;width:

150px}

较短的导航条是不会直通到底部的,半路内容结束时它就结束了。

该怎么办呢?

不幸的是,只能采用欺骗的手段了,给这较短的一栏加上个背景图,宽度和栏宽一样,并让它的颜色和设定的背景色一样。

body{background:

url(/blog/blue-image.gif)00repeat-y}

此时不能用em做单位,因为那样的话,一旦读者改变了字体大小,这个花招就会露馅,只能使用px

.color{

background-color:

#CC00FF;/*所有浏览器都会显示为紫色*/

background-color:

#FF0000\9;/*IE6、IE7、IE8会显示红色*/

*background-color:

#0066FF;/*IE6、IE7会变为蓝色*/

_background-color:

#009933;/*IE6会变为绿色*/

}

**记住上面得样式解释为顺序是ff、ie8、ie7、ie6**

显示的结果:

用火狐浏览,颜色是紫色

用IE8浏览,颜色是红色

用IE7浏览,颜色是蓝色

用IE6浏览,颜色是绿色

例子:

DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:

//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

//www.w3.org/1999/xhtml">

无标题文档

.main{

width:

200px;color:

#fff;

height:

400px;background:

#f00;/*ff红色*/

height:

200px\9;background:

#ff0\9;/*ie8黄色*/

*hei

举报
举报
版权申诉
版权申诉
word格式文档无特别注明外均可编辑修改;预览文档经过压缩,下载后原文更清晰! 立即下载
配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
css 兼容
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:css兼容.docx
链接地址:https://www.bdocx.com/doc/11213433.html
相关搜索
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开