已有9212个主题
已有55706个回复
已有18131个图友
  • 本站| 百度| 谷歌| 雅虎| 搜狗
返回列表 回复 发帖

初学者必读:CSS布局入门教程(已更新完毕)

CSS布局与传统表格(table)布局最大的区别在于:原来的定位都采用表格,通过表格的间距或者用无色透明的GIF图片来控制各布局板块的间距;而现在则采用DIV来定位,通过层的margin、padding、border等属性来控制版块的间距。 通常,初学CSS布局的读者还不能够完全掌握CSS布局,主要有以下两种原因。 第一种可能是还没有理解CSS处理页面的原理,在考虑页面整体表现效果前,应当先考虑内容的语义和结构,然后再针对语义、结构添加 CSS。下面将向大家介绍应该怎样把HTML结构化。 另一种原因是对那些非常熟悉的表现层属性(例如:cellpadding,hspace,align="left"等)束手无策不知道该转换成哪种对应的CSS语句。当解决了第一种问题知道了如何结构化HTML,后面再给出一个列表,详细列出原来的表现属性用什么CSS来代替。 1、结构化HTML 在刚学网页制作时总是先考虑怎么设计,考虑图片、字体、颜色及布局方案。然后用photoshop或者firworks画出来,切割成小图。最后再 通过编辑HTML将所有设计还原表现在页面上 如果希望你的HTML页面用CSS布局,就需要会后重来,先不考虑“外观”,要先思考你的页面内容的语义和结构。 外观并不是最重要的。一个结构良好的HTML页面可以用任何外观表现出来。 HTML不仅仅只在电脑屏幕上阅读。你用Photoshop精心设计的画面可能不能显示在PDA、移动电话和屏幕阅读机上。但是一个结构良好的HTML页面可以通过CSS的不同定义,显示在任何地方、任何网络设备上。 (未完待续) 文章未经本站同意不得转载!

回复 1# 的帖子

2、开始思考 首先要学习什么是“结构”。这个术语的意思是要分析你的内容块,以及每块内容服务的目的,然后再根据这些内容项目的建立起相应的HTML结构。 仔细分析和规则页面结构,可能得到类似这样的几块: ●标志和站点名称 ●主页面内容 ●站点导航(主菜单) ●子菜单 ●搜索框 ●功能区(例如购物车、收银台) ●页脚(版权和有关法律声明) 我们通常采用DIV元素来将这些结构定义出来,类似这样:
这不是布局,而是结构。这是一个对内容块的语义说明。当理解了结构就可以加对应的ID在DIV上。DIV容器中可以包含任何内容块,也可以嵌套另一个DIV。内容块可以包含任意的HTML元素----标题、段落、图片、表格、列表等。 根据上面的讲解,已经知道如何结构化HTML现在就可以进行布局和样式的定义了。每一个内容块都可以放在页面上任何地方,再指定这个块的颜色、字体、边框、背景及对齐属性等。 (未完待续)未经本站同意不得转载

回复 2# 的帖子

3.使用选择器 ID的名称是控制谋一内容块的手段,通过给这个内容块套上DIV并加上唯一的ID,就可以用CSS选择器来精确定义一个页面元素的外观表现 ,包括标题、列表、图片、链接或者段落等。例如为#HEADER写一个CSS规则,就可以完全不同于#CONTENT里面的图片规则。 另外一个例子是,可以通过不同规则来定义不同内容里的链接样式。类似这样:#globalnav a:link 或者 #content a:link。你也可以定 义不同内容块中相同元素的样式不一样。例如通过#content p和#footer p分别定义#content和#footer中 P的样式。从结构上讲,页面是由图 片、链接、列表、段落等组成的,这些元素本身并不会显示在什么网络设备中(PDA还是手机或网络电视)有影响它们可以被定义为任何的表现 外观。 一个仔细结构化的HTML页面非常简单,每一个元素都被用于结构目的。如果要缩进一个段落,不需要使用blockquote标签,只要使用P标签 ,并对P加一个CSS的margin规则就可以实现缩进目的。P是结构化标签,margin是表现属性,前者属于HTML,后者属于CSS(这就是结构与表现相 分离)。 良好结构的HTML页面几乎没有表现属性的标签。代码非常干净简洁。例如,原先的代码,即,现在可以只在HTML中写
,所有控制表现的东西都写到CSS中去。在结构化HTML中,table就是表格,二不是 其他什么(比如被用来布局和定位)。

4、实践结构化

上面说的只是最基本的结构,在实际应用中,可以根据需要来调整整个内容块。常常会出现DIV嵌套的情况,你会看到container层中又有其他层,结构类似这样: 嵌套的DIV元素允许定义更多的CSS规则来控制表现,例如,可以给#navcontainer一个规则让列表居右,再给#globalnav一个规则让列表居左,而给#subnav的list另一个完全不同的表现。

5、用css替换传统方法(1)

下面的列表将帮助使用CSS替换传统方法。 属性及相对应的CSS方法: HTML属性:align="right" CSS方法说明:float:right; 使用CSS可以浮动任何元素,如图片、段落、DIV、标题、表格、列表等。 loat属性时,必须给这个浮动元素顶一个宽度,如: marginwidth="0" leftmargin="0" marginheight="0" topmargin="0" margin:0; 使用CSS,margin可以设置任何元素上,而不仅仅是body元素。更重要的是,可以分别指定元素的top、right、bottom和left的margin值。 中,链接的颜色作为body的一个属性值的定义。整个页面的链接风格都一样。使用CSS的选择器, 页面中不同部分的链接样式可以不一样,如: 在CSS中,任何原色都可以定义背景颜色,而不仅仅局限于body和table元素,如: bordercolor="#ffffff" border-color:#fff; 以设置边框(border),可以分别定义top、right、bottom和left。 用CSS,可以定义table的边框为统一样式,也可以分别定义top、right、bottom和left边框的颜色,尺寸和样式。