作家
登录

CSS页面布局中HTML结构化

作者: 来源:www.28hudong.com 2012-11-19 22:54:25 阅读 我要评论

  您正在学习WEB标准CSS网页布局吗?是不是还不能完全掌握纯CSS布局?通常有两种需要您特别注意:   第一种可能是你还没有理解CSS处理页面的原理。   在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义、结构添加CSS。这篇文章将告诉你应该怎样把HTML结构化。   另一种原因是你对那些非常熟悉的表现层属性束手无策。   例如:cellpadding,、hspace、align="left"等等,不知道该转换成对应的什么CSS语句。当你解决了第一种问题,知道了如何结构化你的HTML,再给出一个列表,详细列出原来的表现属性用什么CSS来代替。 结构化HTML   我们在刚学习网页制作时,总是先考虑怎么设计,考虑那些图片、字体、颜色、以及布局方案。然后我们用Photoshop或者Fireworks画出来、切割成小图。最后再通过编辑HTML将所有设计还原表现在页面上。   如果你希望你的HTML页面用CSS布局(是CSS-friendly的),你需要回头重来,先不考虑“外观”,要先思考你的页面内容的语义和结构。   外观并不是最重要的。一个结构良好的HTML页面可以以任何外观表现出来,CSS Zen Garden是一个典型的例子。CSS Zen Garden帮助我们最终认识到CSS的强大力量。   HTML不仅仅只在电脑屏幕上阅读。你用photoshop精心设计的画面可能不能显示在PDA、移动电话和屏幕阅读机上。但是一个结构良好的HTML页面可以通过CSS的不同定义,显示在任何地方,任何网络设备上。 开始思考   首先要学习什么是“结构”,也称之为“语义”。这个术语的意思是你需要分析你的内容块,以及每块内容服务的目的,然后再根据这些内容目的建立起相应的HTML结构。  如果你坐下来仔细分析和规划你的页面结构,你可能得到类似这样的几块:   标志和站点名称   主页面内容   站点导航(主菜单)   子菜单   搜索框   功能区(例如购物车、收银台)   页脚(版权和有关法律声明)   我们通常采用DIV元素来将这些结构定义出来,类似这样: <div id="header"></div> <div id="main"></div> <div id="content"></div> <div id="nav"></div> <div id="subnav"></div> <div id="search"></div> <div id="footer"></div>   这不是布局,是结构。这是一个对内容块的语义说明。当你理解了你的结构,就可以加对应的ID在DIV上。DIV容器中可以包含任何内容块,也可以嵌套另一个DIV。内容块可以包含任意的HTML元素---标题、段落、图片、表格、列表等等。   根据上面讲述的,你已经知道如何结构化 HTML,现在你可以进行布局和样式定义了。每一个内容块都可以放在页面上任何地方,再指定这个块的颜色、字体、边框、背景以及对齐属性等等。 实践一下结构化   上面说的只是最基本的结构,实际应用中,你可以根据需要来调整内容块。常常会出现DIV嵌套的情况,你会看到"container"层中又有其它层,结构类似这样: <div id="header"> <div id="logo"> <h3>http://www.jb51.net/</h3> <ul>a list</ul> </div> <div id="nav"> <ul>nav list</ul> <form>search</form> </div></div>   嵌套的div元素允许你定义更多的CSS规则来控制表现,例如:你可以给#header一个规则让它们都居右,或者居中,再给#logo一个规则让它居左,而给#nav的list与form另一个完全不同的表现。

  推荐阅读

  CSS网页布局:关于定位(position)

使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。其实>>>详细阅读


本文标题:CSS页面布局中HTML结构化

地址:http://www.17bianji.com/kaifa2/CSS/17361.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)