|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在Div+CSS标准化的影响下,网页设计人员已经把这一要求作为行业标准。那么什么是Div+CSS标准?Div+CSS的标准化设计到底有什么好处?
问:
css+div做的网页在ie7里错位了,在ie6里好好的,这个在css里能够改吗?
答:
用CSS+DIV来写网站代码的优点不言而喻,这里未几说了,但因为分歧扫瞄器对CSS的注释不一致,形成分歧扫瞄器下页面错位的征象非常罕见……
cs.Phontol.com页面乱的缘故原由是由于IE6以为一个DIV超宽了,以是把本应float;right的DIV挤了下往。Phontol.com而假如设置为IE6下显现一般的宽度,则在IE7和Firefox下看页面就会少了一块一样,也很别扭….
cs.Phontol.com怎样办?用CSSHACK来改写CSS代码
cs.Phontol.com
cs.Phontol.com改写前:xxx.yyy:{width:600px;}(当设为IE7和Firefox下显现一般的600px时,IE6下会错位,改成590px,则IE6下一般,IE7和Firefox下显现不完善)
cs.Phontol.com改写后:xxx.yyy{width:600px;*width:600px;_width:590px;}
cs.Phontol.com(Firefox不熟悉*和_,而IE都熟悉*,IE7不撑持_,IE6撑持_)
cs.Phontol.com按次万万不要乱,由于当呈现反复界说时,扫瞄器默许按最初一下衬着,以是必定要先一般,再*,最初_。Phontol.com
cs.Phontol.com如许Firefox读取时只看到了一般的界说,而IE都能看到第二个*的界说,因而疏忽第一个一般的界说,而IE中由于IE7不再撑持_,以是依照第一个带*号的实行,IE6撑持_,以是以为带*后的也是反复界说,予以疏忽,实行最初一个界说。Phontol.com
cs.Phontol.com
cs.Phontol.com有人喜好用!important来举行CSSHACK,但我以为!important写起来太长了,不如*和_复杂直不雅。Phontol.com
cs.Phontol.com
cs.Phontol.com只需记着IE7=*,IE6=_,然后依照先Firefox后IE7,最初IE6的按次举行编写,一样平常就能够包管年夜部分用户扫瞄一般了。Phontol.com搜集收拾于互联网
IE下良多中央能够省略一些层界说的浮动属性,可是FF不可,必需每一个个层都写分明,几个DIV层程度分列的时分,IE6中必需要加display:inline;,否则前端会呈现双倍间距,而FF中则加不加display都显现一般.这些都是由扫瞄器默许值的分歧而引发的,你看到那些年夜站的结构在各扫瞄器中都显现一般,是由于他们把这些默许有区分的中央都界说分明了.
上面的兼容要点引自互联网
CSS对扫瞄器的兼容性具有很高的请求,一般情形下IE和Firefox(简称FF)存在很年夜的剖析差别,这里先容一下兼容要点。
罕见的兼容成绩:
1.DOCTYPE影响CSS处置
2.FireFox火狐:div设置margin-left,margin-right为auto时已居中,IE不可
3.FireFox火狐:body设置text-align时,div必要设置margin:auto(次要是margin-left,margin-right)方可居中
4.FireFox火狐:设置padding后,div会增添height和width,但IE不会,故必要用!important多设一个height和width
5.FireFox火狐:撑持!important,IE则疏忽,可用!important为FireFox火狐出格设置款式
6.div的垂直居中成绩:vertical-align:middle;将行距增添到和全部DIV一样高line-height:200px;然后拔出笔墨,就垂直居中了。弱点是要把持内容不要换行
7.cursor:pointer能够同时在IEFireFox火狐中显现游标手指状,hand仅IE能够
8.FireFox火狐:链接加边框和背景致,需设置display:block,同时设置float:left包管不换行。参照menubar,给a和menubar设置高度是为了不底边显现错位,若不设height,能够在menubar中拔出一个空格。
9.在mozillafirefox和IE中的BOX模子注释纷歧致招致相差2px办理办法:
div{margin:30px!important;margin:28px;}
注重这两个margin的按次必定不克不及写反,据阿捷的说法!important这个属性IE不克不及辨认,但其余扫瞄器能够辨认。以是在IE下实在注释成如许:
div{maring:30px;margin:28px}
反复界说的话依照最初一个来实行,以是不成以只写margin:XXpx!important;
10.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不撑持
11.ul标签在Mozilla中默许是有padding值的,而在IE中只要margin有值以是先界说
ul{margin:0;padding:0;}就可以办理年夜部分成绩
属性值就追加上去,重复的属性值就以最后一个为准。这里要注意的是,样式的先后不是根据页面上应用的名字顺序,而是样式表里的样式顺序。 |
|