div+css(二)

来源:互联网 发布:求实软件 编辑:程序博客网 时间:2024/06/01 07:31

前言:CSS布局与传统表格(table)布局最大的区别在于:原来的定位都是采用表格,通过表格的间距或者用无色透明的GIF图片来控制文布局版块的间距;而现在则采用层(div)来定位,通过层的margin,padding,border等属性来控制版块的间距。

 

(一)  CSS2盒模型

盒模型主要定义四个区域:内容(content)、边框距(padding)、边界(border)和边距(margin)

(二)          实例解析

#sample{

MARGIN: 10px 10px 10px 10px;

PADDING:20px 10px 10px 20px;

BORDER-TOP: #CCC 2px solid;

BORDER-RIGHT: #CCC 2px solid;

BORDER-BOTTOM: #CCC 2px solid;

BORDER-LEFT: #CCC 2px solid;

BACKGROUND: url(images/bg_poem.jpg) #FEFEFE no-repeat right bottom; COLOR: #666; TEXT-ALIGN: center; LINE-HEIGHT: 150%; WIDTH:60%; }

说明如下: 

l         MARGIN是指层的边框以外留的空白,用于页边距或者与其它层制造一个间距。

"10px 10px 10px 10px"分别代表"上右下左"(顺时针方向)四个边距,如果都一样,可以缩写成"MARGIN: 10px;"。如果边距为零,要写成"MARGIN: 0px;"

注意:当值是零时,除了RGB颜色值0%必须跟百分号,其他情况后面可以不跟单位"px"MARGIN是透明元素,不能定义颜色。

l         PADDING是指层的边框到层的内容之间的空白。和margin一样,分别指定上右下左边框到内容的距离。如果都一样,可以缩写成"PADDING:0px"。单独指定左边可以写成"PADDING-LEFT: 0px;"PADDING是透明元素,不能定义颜色。

l         BORDER是指层的边框"BORDER-RIGHT: #CCC 2px solid;"是定义层的右边框颜色为"#CCC",宽度为"2px",样式为"solid"直线。如果要虚线样式可以用"dotted"

l         BACKGROUND是定义层的背景。分2级定义,先定义图片背景,采用"url(../images/bg_logo.gif)"来指定背景图片路径;其次定义背景色"#FEFEFE""no-repeat"指背景图片不需要重复,如果需要横向重复用"repeat-x",纵向重复用"repeat-y",重复铺满整个背景用"repeat"。后面的"right bottom;"是指背景图片从右下角开始。如果没有背景图片可以只定义背景色BACKGROUND: #FEFEFE

l         COLOR用于定义字体颜色,上一节已经介绍过。

l         TEXT-ALIGN用来定义层中的内容排列方式,center居中,left居左,right居。

l         LINE-HEIGHT定义行高,150%是指高度为标准高度的150%,也可以写作:LINE-HEIGHT:1.5或者LINE-HEIGHT:1.5em,都是一样的意思。

l         WIDTH是定义层的宽度,可以采用固定值,例如500px,也可以采用百分比,象这里的"60%"。要注意的是:这个宽度仅仅指你内容的宽度,不包含margin,borderpadding。但在有些浏览器中不是这么定义的,需要你多试试。

(三)辅助图片一律用背景处理

XHTML+CSS布局,有一个技术一开始让你不习惯,应该说是一种思维方式与传统表格布局不一样,那就是:所有辅助图片都用背景来实现。

类似这样: BACKGROUND: url(images/bg_poem.jpg) #FEFEFE no-repeat right bottom; 尽管可以用直接插在内容中,但这是不推荐的。

这里的"辅助图片"是指那些不是作为页面要表达的内容的一部分,而仅仅用于修饰、间隔、提醒的图片。例如:相册中的图片、图片新闻中的图片,上面的3d盒模型图片都属于内容的一部分,它们可以用元素直接插在页面里,而其它的类似logo,标题图片,列表前缀图片都必须采用背景方式或者其他CSS方式显示。

 

具体原因请参考:《理解表现与结构相分离》一书

 

原创粉丝点击