职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 925|回复: 0

DIV CSS网页布局学习中容易出现的问题汇总

[复制链接]
那日多吉 发表于 2007-8-12 09:44 | 显示全部楼层 |阅读模式
应用Div+CSS网页布局,制作符合web标准的网站,容易出现的一些问题。
现在总结一下,以便大家能够看到明白问题出在那里。
一.CSS校验的问题
我们设计的网页,都希望符合XHTML标准,CSS通过W3C的校验。有些未通过CSS2.0校验,主要校验错误都是:“Line : 0 font-family: 建议你指定一个种类族科作为最后的选择”

W3C建议字体定义的时候,最后以一个类别的字体结束,而不要以单独某个字体结束。例如\"sans-serif\"就可以保证在不同操作系统下,网页字体都能被显示。
虽然多数人都在body标签上定义了\"sans-serif\",但在其它的id或class中再次定义字体时漏了sans-serif,被认为校验不通过。这个错误不是很严重,只要稍加注意就可以避免。
二.CSS的书写建议
给CSS文件加注释。注释会为你今后的维护带来方便,建议尽可能给CSS文件加注释,不要担心增加少量的字节。 尽量简写CSS语法。比如颜色值\"#FFFFFF\"可以简写成\"#FFF\";\"padding-top:30pxadding-right:0;padding-bottom:10px;padding-left:2 0px\"可以简写为\"padding:30px 0 10px 20px;\"。在定义技巧上有更多的节省技巧,随着对CSS应用的熟练,你会不断发现更好的办法。
三.XHTML校验的问题
往往大家对CSS的校验比较注意,但在XHTML符合标准方面有点忽视,出现很多低级错误。主要问题罗列如下:
◎target=\"_blank\",这个语法在HTML4.0里是正确的,在XHTML1.0里是不允许使用的。解决的办法之一是写成target=\"new\",另外一个办法是用js处理所有的target;
◎样式表最好不要内嵌,将样式表文件独立出来易于维护。如果内嵌<style>一定要写成<style type=\"text/css\">,其中的type不能忽略,否则XHTML无法判断你的style作用在什么方面。
◎<br>必须写成<br />,XHTML要求所有的标签必须关闭,不成对的标签直接在后面加\" /\"。
◎重复使用同一ID。一个ID在XHTML中只能使用1次,如果需要多次引用样式,应该使用class。
◎Flash的嵌入方法错误。<embed>最早是Netscape的私有标签,即使后来为IE所支持,但始终没有被W3C承认,在HTML4.0没有<embed>这个标签。W3C主张的是采用<object>标签。为了解决不同浏览器的兼容,有一个变通的解决方法是2个标签都采用。
完整的示例代码如下(flash背景为透明):
<object
classid=\"clsid:27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=
\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\"
width=\"300\" height=\"100\">
<param name=\"quality\" value=\"high\">
<param name=\"wmode\" value=\"transparent\">
<param name=\"SRC\" value=\"test.swf\">
<embed src=\"test.swf\" wmode=\"transparent\" quality=\"high\"
pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"
type=\"application/x-shockwave-flash\" width=\"300\" height=\"100\">
</embed>
</object> 但直接写在XHTML中依然不可以,我们现在只能通过把上面代码写在flash.js文件里,然后再调用来骗过校验。
<script type=\"text/javascript\" src=\"flash.js\"></script>
关于flash是否符合标准,是一个存在争议的问题。
◎类似id=header class=title代码都应该写成id=\"header\" class=\"title\"。给属性值加引号是最XHTML基本的语法规则。
四.兼容的问题
有些网站在IE6.0、Mozilla Firefox1.0、Opera 7.12中浏览发生变形和错位。
在IE里居中,但Mozilla里没有。在IE中设置body {TEXT-ALIGN: center;}就已经可以居中了,但在Mozilla中必须对需要居中的层再加入以下样式设置:MARGIN-RIGHT: auto;MARGIN-LEFT: auto;
超出宽度。在Mozilla里看正常的页面,在IE里因为超出宽度而变形,并排的层移到下面去了。这个情况是因为IE和Mozilla对盒模型解释不同造成的,有很多解决办法,比如\"!important\"方法。
web标准和CSS布局已经被越来越多的设计师了解和掌握。CSS布局经过一段时间的消化理解和应用,会有更多技术美观兼顾的网页涌现。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-9 09:58 , Processed in 0.137516 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表