1、XHTML+CSS构架遇到的问题及解决方案.txt 不要放弃自己! -(妈妈曾经这样对我说,转身出门的一刹那,我泪流满面,却不想让任何人看见!) 看到这一句 小编也心有感触,想起当初离家前往几千里外的地方的时候,妈妈也说过类似的话,但是身为男儿,必须创出一片天,才能报答父母的养育之恩! 使用 XHTML+CSS构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰,我就先把一些我遇到的问题写在下面。1.在 mozilla firefox和 IE中的 BOX模型解释不一致导致相差 2px解决方法:div css xhtml xml Example Source Code Exam
2、ple Source Code divmargin30px!important;margin28px;注意这两个 margin的顺序一定不能写反,据阿捷的说法!important 这个属性 IE不能识别,但别的浏览器可以识别。所以在 IE下其实解释成这样:div css xhtml xml Example Source Code Example Source Code divmaring30px;margin28px重复定义的话按照最后一个来执行,所以不可以只写 marginXXpx!important;2.IE5 和 IE6的 BOX解释不一致 IE5下 divwidth300px;marg
3、in0 10px 0 10px;div的宽度会被解释为 300px- 10px(右填充)-10px(左填充)最终 div的宽度为 280px,而在 IE6和其他浏览器上宽度则 是以 300px+10px(右填充)+10px (左填充)=320px 来计算的。这时我们可以做如下修改:div css xhtml xml Example Source Code Example Source Code divwidth300px!important;width 340px;margin0 10px 0 10px关于这个是什么我也不太明白,只知道 IE5和 firefox都支持但 IE6不支持,如果有人
4、理解的话,请告诉我一声,谢了!:)3.ul标签在 Mozilla中默认是有 padding值的,而在 IE中只有 margin有值所以先定义div css xhtml xml Example Source Code Example Source Code ulmargin0;padding0;就能解决大部分问题4.关于脚本,在 xhtml1.1中不支持 language属性,只需要把代码改为div css xhtml xml Example Source Code Example Source Code div+css编辑网页 firefox下错位的解决方法clear 和 float属性好不容
5、易编辑好的网页导航,在 FIREFOX下测试发现错位的厉害,毫无美感可言原因找出,原来是当时测试的一个代码,测试完了忘记改了过来,额的个神,用了我一个多小时没办法,做为使用比较多的浏览器之一,不能不考虑适应它。出现错位混乱的原因主要是因为 IE和 FIREFOX的标准不同,某些属性的释义出现相差所致。没办法只好边学边用了。clear 和 float属性在 css文件里定义的容器时加入 clear属性来控制页面clear属性说明:该属性的值指出了不允许有浮动对象的边。注意这里要注意和 float属性的区分float:该属性的值指出了对象是否及如何浮动。当该属性不等于 none引起对象浮动时,对象
6、将被视作块对象(block-level),即 display属性等于 block。也就是说,浮动对象的 display特性将被忽略。clear属性支持的参数有下面 4个:none 允许两边都可以有浮动对象both 不允许有浮动对象left 不允许左边有浮动对象right 不允许右边有浮动对象而 float属性支持的参数有下面 3个:none 对象不浮动left 对象浮在左边right 对象浮在右边 DOCTYPE 影响 CSS 处理 FF div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 FF body 设置 text-align 时,
7、div 需要设置 margin auto(主要是 margin-left,margin-right) 方可居中 FF 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width FF 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式 div 的垂直居中问题 vertical-alignmiddle; 将行距增加到和整个 DIV一样高 line-height200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行 cursor poi
8、nter 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以 FF 链接加边框和背景色,需设置 display block, 同时设置 float left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格 XHTML+CSS兼容性解决方案小集 使用 XHTMLCSS 构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰,我就先把一些我遇到的问题写在下面,省的大家四处找 1.在 mozilla firefox和 IE中的 BOX模型解释不一致导致相
9、差 2px解决方法: divmargin30px!important;margin28px;注意这两个 margin的顺序一定不能写反,据阿捷的说法!important 这个属性 IE不能识别,但别的浏览器可以识别。所以在 IE下其实解释成这样: divmaring30px;margin28px重复定义的话按照最后一个来执行,所以不可以只写marginXXpx!important; 2.IE5 和 IE6的 BOX解释不一致 IE5下 divwidth300px;margin0 10px 0 10px;div的宽度会被解释为 300px-10px(右填充)-10px(左填充)最终 div的宽度
10、为 280px,而在 IE6和其他浏览器上宽度则 是以 300px+10px(右填充)+10px(左填充)=320px 来计算的。这时我们可以做如下修改 divwidth300px!important;width 340px;margin0 10px 0 10px,关于这个是什么我也不太明白,只知道 IE5和 firefox都支持但 IE6不支持,如果有人理解的话,请告诉我一声,谢了!:) 3.ul标签在 Mozilla中默认是有 padding值的,而在 IE中只有 margin有值所以先定义 ulmargin0;padding0;就能解决大部分问题 4.关于脚本,在 xhtml1.1中不支
11、持 language属性,只需要把代码改为 script type=textjavascript1、div+css 如何使网站兼容不同字体使用 utf-8内码进行编写(右键-编码-选择一种其它国家的编码-查看效果)asp代码如下 % function chinese2unicode(Str) dim i dim Str_one dim Str_unicode for i=1 to len(Str) Str_one=Mid(Str,i,1) Str_unicode=Str_unicode,目的就是让 div自动适应内容高度2、横排的 div外套 div另外 设定ul margin 0px;pad
12、ding 0px;是消除 li前面的空格3、div+css 兼容性问题 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 和 widthFF 支持 !important,
13、IE 则忽略, 可用 !important 为 FF 特别设置样式div 的垂直居中问题 vertical-alignmiddle; 将行距增加到和整个 DIV一样高 line-height200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行cursor pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以FF 链接加边框和背景色,需设置 display block, 同时设置 float left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插
14、入一个空格 XHTML+CSS兼容性解决方案小集使用 XHTML+CSS构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰,我就先把一些我遇到的问题写在下面。1.在 mozilla firefox和 IE中的 BOX模型解释不一致导致相差 2px解决方法:div css xhtml xml Example Source Code Example Source Code divmargin30px!important;margin28px;注意这两个 margin的顺序一定不能写反,据阿捷的说法!important 这个属性 IE不能识别,但别的浏览器可以识别。所以在 IE下
15、其实解释成这样:div css xhtml xml Example Source Code Example Source Code divmaring30px;margin28px重复定义的话按照最后一个来执行,所以不可以只写 marginXXpx!important;2.IE5 和 IE6的 BOX解释不一致 IE5下 divwidth300px;margin0 10px 0 10px;div的宽度会被解释为 300px- 10px(右填充)-10px(左填充)最终div的宽度为 280px,而在 IE6和其他浏览器上宽度则 是以 300px+10px(右填充)+10px (左填充)=320
16、px 来计算的。这时我们可以做如下修改:div css xhtml xml Example Source Code Example Source Code divwidth300px!important;width 340px;margin0 10px 0 10px关于这个是什么我也不太明白,只知道 IE5和 firefox都支持但 IE6不支持,如果有人理解的话,请告诉我一声,谢了!:)3.ul标签在 Mozilla中默认是有 padding值的,而在 IE中只有 margin有值所以先定义div css xhtml xml Example Source Code Example Source Code ulmargin0;padding0;就能解决大部分问题4.关于脚本,在 xhtml1.1中不支持 language属性,只需要把代码改为div css xhtml xml Example Source Code Example Source Code script type=textjavascript