Div+CSS网页布局实现Web标准时遇到问题及解决方案

开发 前端
应用Div+CSS网页布局,制作符合web标准的网站时,容易出现的一些问题,现在总结一下,以便大家能够看到明白问题出在那里。

本文向大家介绍一下应用Div+CSS网页布局,制作符合web标准的网站时,出现的一些问题及解决方法,希望对你的学习有所帮助。

Div+CSS网页布局、web标准应用容易出现的问题汇总

应用Div+CSS网页布局,制作符合web标准的网站时,容易出现的一些问题。现在总结一下,以便大家能够看到明白问题出在那里。

一.CSS校验的问题

我们设计的网页,都希望符合XHTML标准,CSS通过W3C的校验。有些未通过CSS2.0校验,主要校验错误都是:“Line:0font-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:20px"可以简写为"padding:30px010px20px;"。在定义技巧上有更多的节省技巧,随着对CSS应用的熟练,你会不断发现更好的办法。

三.XHTML校验的问题

往往大家对CSS的校验比较注意,但在XHTML符合标准方面有点忽视,出现很多低级错误。主要问题罗列如下:

◆target="_blank",这个语法在HTML4.0里是正确的,在XHTML1.0里是不允许使用的。解决的办法之一是写成target="new",另外一个办法是用js处理所有的target;

◆样式表***不要内嵌,将样式表文件独立出来易于维护。如果内嵌<style>一定要写成<styletype="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背景为透明):

ExampleSourceCode
 

  1. <object 
  2. classid="clsid:27CDB6E-AE6D-11cf-96B8-444553540000"codebase=  
  3. "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"  
  4. width="300"height="100"> 
  5. <paramnameparamname="quality"value="high"> 
  6. <paramnameparamname="wmode"value="transparent"> 
  7. <paramnameparamname="SRC"value="test.swf"> 
  8. <embedsrcembedsrc="test.swf"wmode="transparent"quality="high" 
  9. pluginspage="  
  10. http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"  
  11. type="application/x-shockwave-flash"width="300"height="100"> 
  12. </embed> 
  13. </object> 

但直接写在XHTML中依然不可以,我们现在只能通过把上面代码写在flash.js文件里,然后再调用来骗过校验。
<scripttype="text/javascript"src="flash.js"></script>
关于flash是否符合标准,是一个存在争议的问题。

◆类似id=headerclass=title代码都应该写成id="header"class="title"。给属性值加引号是最XHTML基本的语法规则。

四.兼容的问题

有些网站在IE6.0、MozillaFirefox1.0、Opera7.12中浏览发生变形和错位。
在IE里居中,但Mozilla里没有。在IE中设置body{TEXT-ALIGN:center;}就已经可以居中了,但在Mozilla中必须对需要居中的层再加入以下样式设置:MARGIN-RIGHT:auto;MARGIN-LEFT:auto;

超出宽度。在Mozilla里看正常的页面,在IE里因为超出宽度而变形,并排的层移到下面去了。这个情况是因为IE和Mozilla对盒模型解释不同造成的,有很多解决办法,比如"!important"方法。

web标准和CSS布局已经被越来越多的设计师了解和掌握。CSS布局经过一段时间的消化理解和应用,会有更多技术美观兼顾的网页涌现。

【编辑推荐】

  1. CSS中Position属性用法及作用
  2. 详解CSS中padding-bottom属性用法
  3. 探究IE和Firefox下的2款HTTP调试工具用法
  4. CSS教程:详解margin和padding属性应用场合
  5. 实现IE6、IE7、IE8多版本浏览器共存的五种方法

 

责任编辑:佚名 来源: div-css.net
相关推荐

2010-08-23 14:06:57

DIV+CSS

2010-08-31 16:09:04

DIV+CSS

2010-09-03 15:09:08

DIV+CSS

2010-08-17 13:28:31

DIVCSS

2010-08-30 14:57:21

DIV+CSS

2010-08-24 13:01:13

DIV+CSS

2010-08-27 13:46:58

DIV+CSS

2010-08-23 09:59:16

DIV+CSSSEO

2010-08-16 14:18:49

DIV+CSS

2010-08-30 12:46:42

DIV+CSS

2010-08-27 17:41:03

DIV+CSS

2010-08-25 12:47:40

DIVCSS

2010-09-01 10:42:11

DIV+CSS

2010-08-17 13:08:31

DIV+CSS布局

2010-08-23 14:30:14

DIV+CSS

2010-09-03 13:51:59

DIVCSS

2010-09-07 13:24:18

CSS

2010-08-24 11:34:37

DIV+CSS

2010-08-30 13:09:40

DIVCSS

2010-08-16 13:17:47

DIV+CSS
点赞
收藏

51CTO技术栈公众号