【CSS技巧】新标准带来的新问题

今天一个网友询问:在 ASP.NET 2.0中Response.Write出来的内容为什么与控件直接赋值的结果不同?究其原因就是在ASP.NET 2.0里默认使用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">文档定义模型,这个dtd的规则与以前的不同,因此,许多以前写的代码在新标准下无法正常运行。首先:这个规范要求<html>必须是最顶级标记(Firefox里可以在它之前写文字内容,养成好的习惯,最好不要这样),样式里面需要加单位,例如200px。尤其在使用脚本对对象设置样式时也要如此。下面的这段代码在该规范下显示的结果是不同。第一个div不能显示成100*100的方形块。

<% @ Page Language = " C# "   %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head  runat ="server" >
  
< title > CSS样式 </ title >
</ head >
< body >
  
< form  id ="form1"  runat ="server" >
    
< div  style ="background: #D0D0D1; width: 100; height: 100" >
      
< href ="http://dotnet.aspx.cc/" > 【孟子E章】 </ a ></ div >
    
< div  style ="background-color:Violet; width: 100px; height: 100px" >
      
< href ="http://dotnet.aspx.cc/" > 【孟子E章】 </ a ></ div >
  
</ form >
</ body >
</ html >

你可能感兴趣的:(html,css,XHTML,server,asp.net,div)