今天我们来学习,如何使用有趣的自定义标记来布局页面。有的朋友可能有这样的疑问,自己随便定义的标记浏览器怎么能正确的认识呢?
这里我们就要用到文档的命名空间,那么命名空间又是指什么?
大家知道XML有一个很大的特点就是他的可扩展性。你可以创建你自己的标记或使用别人创建的标记,这里就存在了一个问题,即你所定义的标
记和别人定义的标识有可能相同,但他们各自所表示的意义却不同。
打一个形象的比喻,比如有两个人名字都叫蓝色,一个人在经典,一个人在天涯,如果你要找他们就可以这样说明,天涯:蓝色 、 经典:蓝色,这样就不会混淆了。
命名空间的意义就是要告诉别人这个文档是属于谁的。xhtml是html向xml过渡的产物,这里他也提供给了我们一个命名空间。
看下面的例子,我们命名一个名称为blueidea的前缀,http://bbs.blueidea.com是用来说明命名空间的url。xmlns是指xhtml namespace
复制代码 代码如下: <html xmlns:blueidea=”http://bbs.blueidea.com”>
有意思的是我们甚至可以用中文来做标记(用中文可能会出现编码问题)。这样的文档看起来真的是一目了然。
下面我们定义一个标记叫做“新闻标题”格式因该是“blueidea:新闻标题”
复制代码 代码如下: <blueidea:新闻标题>最新更新</blueidea:新闻标题>
然后用CSS定义他 ,格式:
blueidea\:新闻标题 {
} 需要注意的是我们自定义的标记默认属性,有点象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:blueidea=”http://bbs.blueidea.com”> <style> * { padding:0; margin:0 } body{ text-align:center; } blueidea\:页面上部 { position:relative; display:block; margin:0 auto; width:700px; height:150px; border-bottom:3px solid orange; background:black } blueidea\:主体部分 { display:block; margin:0 auto; width:700px; text-align:left; background:#eee } blueidea\:主体部分 blueidea\:主体左侧 { display:block; width:220px; height:500px; border-right:1px solid #ddd; background:#f3f3f3 } blueidea\:新闻标题 { display:block; padding-left:5px; height:25px; line-height:25px; background:#ccc } blueidea\:新闻列表 { display:block; list-style:none; height:160px; background:#eee } blueidea\:页面下部 { display:block; margin:0 auto; width:700px; height:100px; background:black } blueidea\:站点标志 { position:absolute; top:20px; left:20px; padding-top:2px; display:block; width:90px; height:31px; background:#eee } blueidea\:导航菜单 { position:absolute; top:124px; left:300px; display:block; } blueidea\:导航菜单 a { float:left; margin-left:2px; width:60px; height:25px; font:12px/25px 宋体; color:white; text-decoration:none; border:1px solid orange; border-bottom:0; } blueidea\:导航菜单 a:hover { border:1px solid #FDE201; border-bottom:0; } blueidea\:页面 { border:1px solid #FDE201; } </style> </head> <body> <blueidea:页面上部> <blueidea:站点标志><img src=”http://bbs.blueidea.com/images/blue/logo.gif” alt=”蓝色理想”/></blueidea:站点标志> <blueidea:导航菜单> <a href=”#”>home</a> <a href=”#”>work</a> <a href=”#”>contact</a> </blueidea:导航菜单> </blueidea:页面上部> <blueidea:主体部分> <blueidea:主体左侧> <blueidea:新闻标题>最新更新</blueidea:新闻标题> <blueidea:新闻列表> <li>·aaaaaaaaaaa</li> <li>·aaaaaaaaaaa</li> <li>·aaaaaaaaaaa</li> <li>·aaaaaaaaaaa</li> <li>·aaaaaaaaaaa</li> <li>·aaaaaaaaaaa</li> </blueidea:新闻列表> </blueidea:主体左侧> </blueidea:主体部分> <blueidea:页面>ssssss</blueidea:页面> <blueidea:页面>ssssss</blueidea:页面> <blueidea:页面>ssssss</blueidea:页面> <blueidea:页面下部></blueidea:页面下部> </body> </html>
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]