我们可以自定义标记来布局页面。
有的朋友可能有这样的疑问,自己随便定义的标记浏览器怎么能正确的认识呢?
这里我们就要用到文档的命名空间,那么命名空间又是指什么?
大家知道XML有一个很大的特点就是他的可扩展性。你可以创建你自己的标记或使用别人创建的标记,这里就存在了一个问题,即你所定义的标记和别人定义的标识有可能相同,但他们各自所表示的意义却不同。
打一个形象的比喻,比如有两个人名字都叫cnwebshow_com,一个人在中国,一个人在外国,如果你要找他们就可以说,中国的,外国的,这样就不会混淆了。
命名空间的意义就是要告诉别人这个文档是属于谁的。xhtml是html向xml过渡的产物,这里他也提供给了我们一个命名空间。
看下面的例子,我们命名一个名称为cnwebshow_com的前缀,http://www.cnwebshow.com是用来说明命名空间的url。xmlns是指xhtml namespace。
有意思的是我们甚至可以用中文来做标记(用中文可能会出现编码问题)。这样的文档看起来真的是一目了然。
下面我们定义一个标记叫做“新闻标题”格式因该是“cnwebshow_com:新闻标题”
这里放内容
然后用CSS定义他 ,格式:
cnwebshow_com\:新闻标题 {}
需要注意的是我们自定义的标记默认属性,有点象a、span等内联元素。
下面是我写的一个基本布局,(兼容IE5、6、7 FF2 OP9)是不是很有意思,象XML,其实本来自定义标记就是用在xml上地。大家赶紧自己来试一下吧,因为很多东西都是自己从实践中摸索出来的。
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:cnwebshow_com="http://www.cnwebshow.com">
<style>
* {
padding:0;
margin:0
}
body{
text-align:center;
}
cnwebshow_com\:页面上部 {
position:relative;
display:block;
margin:0 auto;
width:700px;
height:150px;
border-bottom:3px solid #000;
background:#3D6DB5;
}
cnwebshow_com\:主体部分 {
display:block;
margin:0 auto;
width:700px;
text-align:left;
background:#eee
}
cnwebshow_com\:主体部分 cnwebshow_com\:主体左侧 {
display:block;
width:220px;
height:500px;
border-right:1px solid #000;
background:#f3f3f3
}
cnwebshow_com\:新闻标题 {
display:block;
padding-left:5px;
height:25px;
line-height:25px;
background:#ccc
}
cnwebshow_com\:新闻列表 {
display:block;
list-style:none;
height:160px;
background:#eee
}
cnwebshow_com\:页面下部 {
display:block;
margin:0 auto;
padding-top:6px;
width:700px;
height:30px;
background:#3D6DB5
}
cnwebshow_com\:站点标志 {
position:absolute;
top:10px;
left:10px;
padding-top:2px;
display:block;
width:240px;
height:60px;
}
cnwebshow_com\:导航菜单 {
position:absolute;
top:124px;
left:300px;
display:block;
}
cnwebshow_com\:导航菜单 a {
float:left;
margin-left:5px;
width:88px;
height:25px;
font:12px/25px 宋体;
color:white;
text-decoration:none;
border:1px solid #000;
border-bottom:0;
}
cnwebshow_com\:导航菜单 a:hover {
border:1px solid #fff;
border-bottom:0;
}
cnwebshow_com\:页面 {
border:1px solid #f00;
}
</style>
</head>
<body>
<cnwebshow_com:页面上部>
<cnwebshow_com:站点标志><img src="/images/logo.gif" alt="cnwebshow.com" title="网页设计秀" /></cnwebshow_com:站点标志>
<cnwebshow_com:导航菜单>
<a href="http://www.cnwebshow.com/">Div+CSS教程</a>
<a href="http://www.cnwebshow.com/">CSS布局实例</a>
<a href="http://www.cnwebshow.com/">CSS2.0教程</a>
<a href="http://www.cnwebshow.com/">XHTML教程</a>
</cnwebshow_com:导航菜单>
</cnwebshow_com:页面上部>
<cnwebshow_com:主体部分>
<cnwebshow_com:主体左侧>
<cnwebshow_com:新闻标题>cnwebshow.com</cnwebshow_com:新闻标题>
<cnwebshow_com:新闻列表>
<li>cnwebshow.com</li>
<li>cnwebshow.com</li>
<li>cnwebshow.com</li>
<li>cnwebshow.com</li>
<li>cnwebshow.com</li>
<li>cnwebshow.com</li>
<li>cnwebshow.com</li>
<li>cnwebshow.com</li>
</cnwebshow_com:新闻列表>
</cnwebshow_com:主体左侧>
</cnwebshow_com:主体部分>
<cnwebshow_com:页面>cnwebshow.com</cnwebshow_com:页面>
<cnwebshow_com:页面>cnwebshow.com</cnwebshow_com:页面>
<cnwebshow_com:页面>cnwebshow.com</cnwebshow_com:页面>
<cnwebshow_com:页面下部>cnwebshow.com</cnwebshow_com:页面下部>
</body>
</html>