CSS手册简编 系列三

CSS手册简编

CSS属性:

1、媒体(Media)类型

样式单的一个最重要的特点就是它可以作用于多种媒体,比如页面、屏幕、电子合成器等等。特定的属性只能作用于特定的媒体,如"font-size"属性只对可卷动的媒体类型有效(屏幕)。

声明一个媒体属性可以用@import@media引入:

@import url(loudvoice.css) speech;
@media print {
/* style sheet for print goes here */
}

也可以在文档标记中引入媒体:

<LINK rel="stylesheet" type="text/css" media="print" href="foo.css">

可以看出,@import@media的区别在于,前者引入外部的样式单用于媒体类型,后者直接引入媒体属性。@import的使用方法是@import加样式单文件的URL地址再加媒体类型,可以多个媒体共用一个样式单,媒体类型之间用""分割符分开。@media用法则是把媒体类型放在前面,其他规则和rule-set基本一样。下面列出各种媒体类型:

SCREEN:指计算机屏幕。
PRINT:指用于打印机的不透明介质。
PROJECTION:指用于显示的项目。
BRAILLE:盲文系统,指有触觉效果的印刷品。
AURAL:指语音电子合成器。
TV:指电视类型的媒体。
HANDHELD:指手持式显示设备(小屏幕,单色)
ALL:适合于所有媒体。

CSS属性:

2BOX模型(BOX Model)属性

什么是BOXCSSHTML中以<somesign>……</somesign>的部分称为BOX(容器),BOX有三类属性:paddingmarginborder

Margin属性:

Margin属性分为margin-topmargin-rightmargin-bottommargin-leftmargin五个属性,分别表示BOX里内容离边框的距离,它的属性值是数值单位,可以是长度、百分比或automargin甚至可以设为负值,造成BOXBOX之间的重叠显示,关于margin的属性详见下表:

属性名称: 'margin-top''margin-right''margin-bottom''margin-left'
属性值: <margin-width>
初始值: 0
适合对象: 所有元素
是否继承: no
百分比备注: 相对于BOX的宽度

例如:

H1 { margin-top: 2em }
H2 { margin-right: 12.3% }

Margin还有一个快捷的书写方法,就是直接用margin属性,例如:

BODY { margin: 1em 2em 3em 2em}

等同于:

BODY {
margin-top:1em;
margin-right:2em;
margin-bottom:3em;
margin-left:2em;
}

margin属性后面可以有四个值,中间用空格隔开(记住不是逗号),顺序是"上右下左",当然margin后面可以不足四个值,例如:

BODY { margin: 2em } /* 所有的margin都设为2em */
BODY { margin: 1em 2em } /*
上下margin1em,右左margin2em */
BODY { margin: 1em 2em 3em } /*
margin1em,右左margin2em,下margin3em*/

Padding属性:

Padding属性用来描述BOX的边框和内容之间插入多少空间,和margin属性类似,它也分为上右下左和一个快捷方式padding,关于padding的属性详见下表:

属性名称: 'padding-top''padding-right''padding-bottom''padding-left' 'padding'
属性值: <padding-width>
初始值: 0
适合对象: 所有元素
是否继承: no
百分比备注: 相对于BOX的宽度

例如:

BLOCKQUOTE { padding-top: 0.3em }

padding属性和margin类似此处略去。

Border属性:

平时我们在查看HTML文档时,看到一段文字,并不会把它当作一个BOX,实际上BOX是有边框的,只是平时不显示出来罢了,而border属性就是用来描述BOX边框的。Border属性分为border-widthborder-colorborder-style,而这些属性下面又有分支。

border-width属性:

border-width属性又分为:border-top-widthborder-right-widthborder-bottom-widthborder-left-widthborder-width属性,border-width用长度表示为"thin/medium/thick"或长度单位表示,下面是border-width属性的详细列表:

属性名称: 'border-top-width''border-right-width''border-bottom-width''border-left-width''border-width'
属性值: <border-width>
初始值: medium
适合对象: 所有元素
是否继承: no
百分比备注: 被禁止

border-width为快捷方式,顺序为上右下左,值之间用空格隔开。

border-color属性:

border-color属性用来显示BOX边框颜色,分为border-top-colorborder-right-colorborder-bottom-colorborder-right-colorborder-color属性,属性值为颜色,可以用十六进制表示,也可用rgb()表示,属性见下:
属性名称: 'border-top-color''border-right-color''border-bottom-color''border-left-color'
'border-color'

属性值: <color>
初始值: 元素颜色的初始值
适合对象: 所有元素
是否继承: no
百分比备注: 被禁止

border-color为快捷方式,顺序为上右下左,值之间用空格隔开。

border-style属性:

border-style属性用来设置BOX对象边框的样式,它的属性值为CSS规定的关键字,平常看不到border是因为,初始值是none的缘故。属性见下:

属性名称: 'border-top-style''border-right-style''border-bottom-style''border-left-style''border-style'
属性值: <border-style>
初始值: none
适合对象: 所有元素
是否继承: no
百分比备注: 被禁止

border-color为快捷方式,顺序为上右下左,值之间用空格隔开。

属性值的名称和代表意义如下:

none:无边框。
dotted:边框为点线。
dashed:边框为长短线。
solid:边框为实线。
double:边框为双线。
grooveridgeinsetoutset:显示不同效果的3D边框(根据color属性)。

border属性:

border属性为Border的快捷方式,属性值间用空格隔开,顺序是"边框宽度 边框样式 边框颜色",例如:

<h1 style="border:.5em outset red">hello!</h1>

还可以用border-topborder-rightborder-bottomborder-left分别作为上右下左的快捷方式,属性值顺序同border属性。


CSS属性:

3、布局(Layout)属性:

在以前的HTML里,元素的位置只能靠元素的依次排列觉得,而在CSS里你可以更精确的定位元素。Netscape曾提出过Layer标记,它对于精确布局很有好处,但是并没有被W3C承认,W3CCSS提出了类似于Layer标记的功能。

position属性:

position属性用来决定元素的位置类型,详见属性:

属性名称: 'position'
属性值: absolute | relative | static
初始值: static
适合对象: 所有元素
是否继承: no
百分比备注: 被禁止
其属性值分别代表:
absolute:屏幕上的绝对位置。
relative:屏幕上的相对位置。
static:固有位置。


direction属性:

direction属性决定BOX的排列方向,详见属性:

属性名称: 'direction'
属性值: ltr| rtl
初始值: ltr
适合对象: 所有元素
是否继承: yes
百分比备注: 被禁止


floatclear属性:

HTML中图片可以选择飘浮的位置,现在BOX对象通过CSS对于也可以选择飘浮的位置。改变BOXfloat属性,BOX将飘浮在其他元素的左或右方:

属性名称: 'float'
属性值: left| right|none
初始值: none
适合对象: 所有元素
是否继承: no
百分比备注: 被禁止

例如:

<STYLE type="text/css">
IMG { float: left }
BODY, P, IMG { margin: 2em }
</STYLE>
<BODY>
<P>
<IMG src=img.gif>
Some sample text that has no other...
</BODY>

相反的,使用clear属性将禁止元素在BOX的左方或右方飘浮:

属性名称: 'clear'
属性值: left| right|both|none
初始值: none
适合对象: 所有元素
是否继承: no
百分比备注: 被禁止


绝对位置属性:

绝对位置属性有四个属性:toprightbottomleft,属性值为长度单位或百分数:

属性名称: 'top''right''bottom''left'
属性值: <length>|<percentage>|auto
初始值: none
适合对象: 所有元素
是否继承: no
百分比备注: 被禁止

利用以上属性,用户就可以精确定义元素的位置,如:

<P style="position: relative; margin-right: 10px; left: 10px;">
I used two red hyphens to serve as a change bar. They
will "float" to the left of the line containing THIS
<SPAN style="position: absolute; top: auto; left: 0px; color: red;">--</SPAN>
word.</P>

z-index属性:

CSS中允许元素的重叠显示,这样就有一个显示顺序的问题,z-index属性描述了元素的前后位置,如果把电脑屏幕看作X-Y平面的话,那么Z轴就是垂直于屏幕的,z-index使用整数表示元素的前后位置,数值越大,就会显示在相对靠前的位置,并且CSS同意在z-index中使用负数。

属性名称: 'z-index'
属性值: auto|<integer>
初始值: auto
适合对象: 使用position属性的元素
是否继承: no
百分比备注: 被禁止


width属性:

规定BOXwidth属性,可以使BOX的宽度不依靠它所包含的内容的多少:

属性名称: 'width'
属性值: <length> | <percentage> | auto
初始值: auto
适合对象: 块元素
是否继承: no
百分比备注:根据父元素的width而定

CSS中还提供了min-widthmax-width属性,使得BOX的宽度在最小宽度和最大宽度之间。

属性名称: 'min-width'
属性值: <length> | <percentage>
初始值: 0
适合对象: all
是否继承: no
百分比备注:根据父元素的width而定

属性名称: 'max-width'
属性值: <length> | <percentage>
初始值: 100%
适合对象: all
是否继承: no
百分比备注:根据父元素的width而定

height属性:

相同的BOX还有height属性来控制本身的高度:

属性名称: 'height'
属性值: <length> | <percentage> | auto
初始值: auto
适合对象: 块元素
是否继承: no
百分比备注:根据父元素的height而定

CSS中还提供了min-heightmax-height属性,使得BOX的高度在最小高度和最大高度之间。

属性名称: 'min-height'
属性值: <length> | <percentage>
初始值: 0
适合对象: all
是否继承: no
百分比备注:根据父元素的height而定

属性名称: 'max-height'
属性值: <length> | <percentage>
初始值: 100%
适合对象: all
是否继承: no
百分比备注:根据父元素的height而定


overflow属性:

在规定元素的宽度和高度时,如果元素的面积不足以显示全部内容的话就要用到overflow属性:

属性名称: 'overflow'
属性值: visible | hidden | scroll | auto
初始值: visible
适合对象: 元素的position属性
是否继承: no
百分比备注: 被禁止

属性值含义如下:

visible:扩大面积以显示所有内容。
hidden:隐藏超出范围的内容。
scroll:在元素的右边显示一个滚动条。
auto:当内容超出元素面积时,显示滚动条。

clip属性:

CSS还提供了一种clip属性,可以把元素区域剪切成各种形状,但目前提供的只有方形一种:

属性名称: 'clip'
属性值: <shape> | auto
初始值: auto
适合元素: 元素的position属性被设为absolute
是否继承: no
百分比备注: 被禁止

<shape>值为rect(top right bottom left)

line-heightvertical-align属性:

line-height属性可以规定元素内部的行间距,使用长度单位或百分数:

属性名称: 'line-height'
属性值: normal | <number> | <length> | <percentage>
初始值: normal
适合对象: 所有元素
是否继承: yes
百分比备注:根据元素的字体大小而定

例如下面的例子,虽然表达方式不同,但结果一样:

DIV { line-height: 1.2; font-size: 10pt }
DIV { line-height: 1.2em; font-size: 10pt }
DIV { line-height: 120%; font-size: 10pt }

vertical-align属性决定元素在垂直位置的显示:

属性名称: 'vertical-align'
属性值: baseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage> | <length>
初始值: baseline
适合对象: inline elements
适合继承: no
百分比备注: 根据元素的line-height属性而定

属性值含义如下:
baseline:与元素的基线对齐。
middle:与元素中部对齐。
sub:字下沉。
super:字上升。
text-top:文本顶部对齐。
text-bottom:文本底部对齐。
Top:和本行位置最高元素对齐。
Bottom:和本行位置最低元素对齐。

Visibility属性:

该属性用于控制元素的显示或隐藏:

属性名称: 'visibility'
属性值: inherit | visible | hidden
初始值: inherit
适合对象: 所有元素
是否继承: 如果该值为inherit,则继承父元素属性
百分比备注: 被禁止

CSS手册简编 系列四 | CSS手册简编 系列三 | CSS手册简编 系列二 | CSS手册简编 系列一

[本日志由 parno 于 2007-06-14 00:46 AM 编辑]
上一篇: CSS手册简编 系列二
下一篇: CSS手册简编 系列四
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: CSS HTML
相关日志:
评论: 0 | 引用: 0 | 查看次数: 6439