九赢互动

经典样式表大赛中web尺度利用存在的标题

2010/12/13

 


第一届简历样式表设计赛已经评出获奖作品,恭喜所有的获奖者,也鼓励所有未获奖的选手持续加油。我想对作品中存在的标题总结一下,以便大家能够看到明白标题出在那里。一.CSS校验的标题首先根据比赛请求,参赛作品必

第一届简历样式表设计赛已经评出获奖作品,恭喜所有的获奖者,也鼓励所有未获奖的选手持续加油。我想对作品中存在的标题总结一下,以便大家能够看到明白标题出在那里。

一.CSS校验的标题

首先根据比赛请求,参赛作品必需符合XHTML尺度,提交的CSS必需通过W3C的校验。CSS校验的情况比拟幻想,参赛作品中只有8份作品未通过CSS2.0校验,重要校验错误都是:“Line : 0 font-family: 建议你指定一个种类族科作为最后的选择”

W3C建议字体定义的时候,最后以一个种别的字体结束,而不要以单独某个字体结束。例如"sans-serif"就,以保证在不同把持系统下,网页字体都能被显示。

固然多数人都在body标签上定义了"sans-serif",但在其它的id或class中再次定义字体时漏了sans-serif,被认为校验不通过。这个错误不是很严重,只要稍加留心就可以避免。

二.CSS的书写建议

    给CSS文件加注释。注释会为你今后的保护带来方便,建议尽可能给CSS文件加注释,不要担心增加少量的字节。 尽量简写CSS语法。比如色彩值"#FFFFFF"可以简写成"#FFF";"padding-top:30px;Padding-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。 <meta http-equiv="Content-Type" content="text/html; charset="gb2312" />很明显content属性值里面多了一个引号。 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.365gf.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是否符合尺度,是一个存在争议的标题。更多阐明:参考http://www.365gf.com/tech/site/2004/1920.asp

    类似id=header class=title代码都应当写成id="header" class="title"。给属性值加引号是最XHTML基础的语法规矩。

四.兼容的标题

有12份作品在IE6.0、Mozilla Firefox1.0、Opera 7.12中浏览产生变形和错位。(我没有用IE5.0测试,偷懒啦:)IE5.0对所有CSS布局的设计师都是个挑衅)。

    在IE里居中,但Mozilla里没有。在IE中设置body {TEXT-ALIGN: center;}就已经可以居中了,但在Mozilla中必需对需要居中的层再参加以下样式设置:MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 超出宽度。在Mozilla里看正常的页面,在IE里由于超出宽度而变形,并排的层移到下面往了。这个情况是由于IE和Mozilla对盒模型说明不同造成的,有很多解决措施,比如"!important"方法。

总得来说,参赛作品整体上是合格的居多,这次大赛的目标也已经基础达到,web尺度和CSS布局已经被越来越多的设计师懂得和把握。对于部分作品美工简陋,我想这是一个过程,资深设计师应当都记得Table布局刚呈现的时候,网页大多也很朴素。CSS布局经过一段时间的消化懂得和利用,会有更多象一等奖作品这样技巧雅观兼顾的网页出现。