CSS实例教程[转]

[复制链接]
查看: 1377   回复: 8
发表于 2006-8-18 03:24:55 | 显示全部楼层 |阅读模式
从这一节开始我们将要讨论 CSS (Cascading Style Sheet). 中文大概叫样式表吧. 在我们这个教程中还是把它叫做 CSS 方便点儿.

什么是 CSS 以及它的功能
虽然 CSS 在网页里是和 HTML 在一起的. 但它不算 HTML. 它的使用可以扩展 HTML 的功能. 使得我们可以重新定义 HTML 元素的显 示方式. CSS 所能改变的性质如下

字体
文字间的空间
列表
颜色
背景
Margin
位置
我们将会在后面的七节里讨论上面的每一个性质的改变. 在这一节 我们给你提供 CSS 的基础.

CSS 的定义 (rules)
CSS 的每一条定义都有如下的形式

selector {property:value; property:value; ...}

selector: 第一种是 HTML 的 tag, 比如 P, BODY, A 等等. 第二种叫 class, 第三种叫 ID. 你这里先知道有这么三种 具体的咱们以后在谈.
property: 就是那些将要被修改的性质, 比如 color
value: 给 property 的值, 比如给 color 的可以是 red
请看下面的一个典型定义

A {color: red}

用这条定义所有的联接都变成红色的了. 一般来说我们把所有的 定义全包括在 STYLE 元素里面放到 HEAD 里面. 请试验下面的 网页

<HTML>
<HEAD>
<STYLE>
A {color: red}
P {background-color:blue; color:white}
</STYLE>
</HEAD>
<BODY>
<A href="http://www.nease.net/~haidian">动态网页制作</A>
<P>你注意到这一段文字的颜色和背景颜色了吗?</P> 怎么样?
</BODY>
</HTML>

怎么样? 很简单把. 你只要知道所有可以改动的元素和它们的性质灵活的运用 CSS 的定义, 你就可以使得你的网页制作更上一层楼. 下面一节我们将要告诉你其他两种 selector 以及其他一些基础.
 楼主| 发表于 2006-8-18 03:25:06 | 显示全部楼层
从这一节开始我们将要讨论 CSS (Cascading Style Sheet). 中文大概叫样式表吧. 在我们这个教程中还是把它叫做 CSS 方便点儿.

什么是 CSS 以及它的功能
虽然 CSS 在网页里是和 HTML 在一起的. 但它不算 HTML. 它的使用可以扩展 HTML 的功能. 使得我们可以重新定义 HTML 元素的显 示方式. CSS 所能改变的性质如下

字体
文字间的空间
列表
颜色
背景
Margin
位置
我们将会在后面的七节里讨论上面的每一个性质的改变. 在这一节 我们给你提供 CSS 的基础.

CSS 的定义 (rules)
CSS 的每一条定义都有如下的形式

selector {property:value; property:value; ...}

selector: 第一种是 HTML 的 tag, 比如 P, BODY, A 等等. 第二种叫 class, 第三种叫 ID. 你这里先知道有这么三种 具体的咱们以后在谈.
property: 就是那些将要被修改的性质, 比如 color
value: 给 property 的值, 比如给 color 的可以是 red
请看下面的一个典型定义

A {color: red}

用这条定义所有的联接都变成红色的了. 一般来说我们把所有的 定义全包括在 STYLE 元素里面放到 HEAD 里面. 请试验下面的 网页

<HTML>
<HEAD>
<STYLE>
A {color: red}
P {background-color:blue; color:white}
</STYLE>
</HEAD>
<BODY>
<A href="http://www.nease.net/~haidian">动态网页制作</A>
<P>你注意到这一段文字的颜色和背景颜色了吗?</P> 怎么样?
</BODY>
</HTML>

怎么样? 很简单把. 你只要知道所有可以改动的元素和它们的性质灵活的运用 CSS 的定义, 你就可以使得你的网页制作更上一层楼. 下面一节我们将要告诉你其他两种 selector 以及其他一些基础.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-18 03:25:18 | 显示全部楼层
一个样式表由样式规则组成, 以告诉浏览器怎样去呈现一个文档. 有很多将样式规则加入到你的HTML文档中的方法, 但最简单的启动方法是使用HTML的STYLE组件. 这个元素放置于文档的HEAD部分, 包含网页的样式规则.

要注意到尽管STYLE元素是试验样式表的好方法, 它具有某些在用户使用这种方法之前应该考虑的缺点. 不同方法的优点和缺点在将样式表加入到HTML中部分中有讨论。

每个规则的组成包括一个选择符--通常是一个HTML的元素, 例如BODY, P, 或EM--和该选择符所接受的样式.

有很多的属性可以用于定义一个元素. 每个属性带一个值, 共同地描述选择符应该如何呈现.

样式规则组成如下:

选择符 { 属性: 值 }
单一选择符的复合样式声明应该用分号隔开:

选择符 { 属性1: 值1; 属性2: 值2 }

以下是一段定义了H1和H2元素的颜色和字体大小属性:

<HEAD>
<TITLE>CSS例子</TITLE>
<STYLE TYPE="text/css">
H1 { font-size: x-large; color: red }
H2 { font-size: large; color: blue }
</STYLE>
</HEAD>
上述的样式表告诉浏览器用加大、红色字体去显示一级标题, 用大、蓝色字体去显示二级标题. CSS1 规格正式地定义了所有的有效属性和值. 属性和值在本网站的CSS 属性部分也给出了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-18 03:25:29 | 显示全部楼层
上一节开始我们讨论 CSS (Cascading Style Sheet) 的基础. 告诉你有三种 Selector. 但只介绍了其中的 HTML selector. 这一节我们把三种都详细介绍给你

HTML selector
class selector:
ID selector:
HTML selector

HTML selector 就是 HTML 的 tags, 比如 P, DIV, TD 等. 如你用 CSS 定义了它们, 在整页中, 这个 Tag 的性质就按照你 的定义来显示了. HTML selector 的语法如下

  tag {property:value}
比如我们想叫 H1 的颜色是红的

  H1 {color: red}
这里还要告诉你 CSS 的一个特点, 它可定义好几个 selector 在一个 rule 里. 比如

  H1, H2, TD {color: red}
这个定义就能让所有的 H1, H2, 和 TD 的颜色都为红色.

Class selector

Class selector 有两种, 一种叫相关 class selector, 它跟一 个 HTML 的 tag 有关系. 它的语法是

  tag.Classname {property:value}
比如我们想叫一些而不是全部 H2 的颜色是红的

<style>
  H2.redone {color: red}
</style>

<H2>This is H2</H2>
<H2 class=redone>This is red H2</H2>
This is H2
This is red H2



第二种是独立 class selector . 它可被任何 HTML tag 所应用. 它的语法如下

  .Classname {property:value}
假如我们有下面这个定义

  .blueone {color: blue}
那么我们可以把他应用到不同的 Tag 当中去. 比如

<style>
  .blueone {color:blue}
</style>
<H2 class="blueone">Blue H2</H2>
<P class="blueone">Blue paragraph</P>
Blue H2
Blue paragraph




显然 class selector 给了我们更多的自由.

ID selector

ID selector 其实跟独立 class selector 的功能一样. 而区别在于它们的语法和用法不同, 以及对于 Javascript 纵 HTML 元素有帮助. 它的语法如下

  #IDname {property:value}
假如我们有下面的定义

  #yelowone {color: yellow}
我们可以运用这个定义到任何的有同样 ID 名字的 tag, 比如

<style>
  #redone {color: red}
</style>
  <P ID="redone">text here</P>
text here




你可能觉得既然 ID selector 和独立 class selector 功能一 样, 为什么两者都存在呢. 如果你知道用 CSS-P 来定位的话, 你就明白它们的区别了. 有 ID 的 HTML 元素可以被 CSS-P 和 JavaScript 来纵.

到现在为止, 你已经大概知道如何来写 CSS 的定义了, 下面我们将会告诉你如何用 CSS 来纵或修改

字体
文字间的空间
列表
颜色
背景
Margin
位置
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-18 03:25:44 | 显示全部楼层
这一节我们将讨论如何用 CSS 来控制元素中字体的形状, 大小, 风格.

字形

CSS 用来控制字形的性质是 font-family. 你可以用它来决定 任何一个元素中文字的字形. 比如

  P.v {font-family: Verdana}
  H2.a {font-family: arial}
This H2's font is "Times New Roman"
This paragraph is using "Verdana" font




有的时候, 你所给的字体浏览器不见得有,你可以多给几种比如

  P {font-family: Verdana, Forte, "Times New Roman"}
上面这个定义可以使得浏览器先用Verdana, 如果没有就用Forte... 记住每个字形之间要用逗号隔开.

大小

用来控制字体大小的性质是 font-size 比如

  P.f12 {font-size: 12pt}
  P.f18 {font-size: 18pt}
This paragraph's font is 12pt

This paragraph's font is 18pt




你可以自己慢慢调整字体的大小直到满意为止. 一般来说, 字体的大小没什么限制, 但 500 以下比较安全.

斜体

如果想让字体成为斜体, 要用 font-style 性质, 比如

  P {font-style: italic}
This paragraph's font is italic


加重

用 font-weight 来调节文字的粗细, 比如

  P.bold {font-weight: bold}
This paragraph's font is normal

This paragraph's font is bold




font-style 的可能的值是 lighter, normal, bold, bolder

我们只介绍在 Netscape 和 IE 上都通用的性质. 下一节我们讨论文字的定位.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-18 03:25:58 | 显示全部楼层
这一节我们将讨论如何用 CSS 来控制网页中文字定位, 这些性质是

line-height: 行距
text-align: 向那个方向看齐
vertical-align: 向上还是向下看齐
text-indent: 段落第一行空格
text-transform: 字母的大小写
text-decoration: 给文字加装饰, 比如下滑线
行距

我们有时候可能会想把行距加大点使得文字看的清楚一些. CSS 中的 line-height 可以取得这种调节

  P.double {line-height: 2}
请看下面的比较. 这 一 段 的 行 距 是 正常 的. 这 一 段 的 行 距 是 正常 的. 这 一 段 的 行 距 是 正常 的. 这 一 段 的 行 距 是 正常 的.

这 一 段 的 行 距 是 双 倍 的. 这 一 段 的 行 距 是 双 倍 的. 这 一 段 的 行 距 是 双 倍 的. 这 一 段 的 行 距 是 双 倍 的.




你要让 line-height 等于 3 的话, 那行距就更大了.

看齐

一般来说我们都是向左边看齐. 但有的时候也有其他的选择, 比如说向右边看齐.

    P.right {text-align: right}
    P.center {text-align: center}
    P.justify {text-align: justify}
请看下面的比较. 这 一 行 左 边 看 齐

这 一 行 右 边 看 齐
这 一 行 在 中 间




text-align 可以有 left, right, center, 和 justify

段落的首行空格

如果我们想让第一行的开头空几格, 可以用 text-indent, 比如

  P {text-indent: 1cm}
请看下面的例子. 这 一 段 开 头 空 了 1 厘 米. 这 一 段 开 头 空 了 1 厘 米. 这 一 段 开 头 空 了 1 厘 米. 这 一 段 开 头 空 了 1 厘 米.


字母的大小写

这个性质显然跟中文没关系, 但如果我们要处理英文, 你可以 用 text-transform 来改变英文的大小写. 比如, 让每个字的 第一个字母大写

    P.capitalize {text-transform: capitalize}
    P.up {text-transform: uppercase}
    P.low {text-transform: lowercase}
请看下面的比较. All the words' first letter have been capitalized in this line

All the letters are uppercase in this line

All the letters are lowercase in this line


文字的装饰

就是在文字上加下滑线, 或中间加条线的. 比如

    P.underline {text-decoration: underline}
    P.line-through {text-decoration: line-through}
请看下面的比较. Underline line

line-through line




其实最常用的是我们想去掉联接下面的下滑线.
A {text-decoration: none}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-18 03:26:35 | 显示全部楼层
这一节唯一我们将要讨论的是如何用 CSS 来改变列表 前的标识。我们知道有两种列表:有序和无序。有序 列表用阿拉伯数字为标识, 无序列表用黑色小圆圈来 做标识。用 CSS 的 list-style-type 这两种列表的标 识都可以有四种选择:

无序: disc, circle, square, decimal
有序: upper-roman, lower-roman, upper-alpha, lower-alpha.
假如你想叫有序列表的标识为大小罗马字母

  LI.upperroman {list-style-type: upper-roman}
请看下面的比较 disc
circle
square
decimal


大写罗马
小写罗马
大写字母
小写字母
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-18 03:26:46 | 显示全部楼层
用 CSS 你不但可以改变整个网页的背景你还可以控 制其他元素的的背景,比如 P,DIV 等。这一节我们将要讨论的性质有:

color: 文字的颜色
background-color: 背景颜色
background-image: 背景图象
background-repeat: 重复背景图象
background-attachment: 是否冻结背景图象
文字的颜色

我们用 color 可以来决定文字,周边,以及横线的颜色

  P.greentext {color: green}
请看下面的例子 这一行文字的颜色是绿色的

背景的颜色

背景的颜色可以由 background-color 来控制, 比如我们想叫 一些文字段落的背景颜色为浅绿色的,

  P.greenbg {background-color: #CCEFCC}
请看下面的例子

这一行的背景颜色是浅绿色的

背景的图象

我们不但可以给整个网页加个背景图象,我们还可以给其 中一个元素加个背景图象,比如说我们给 P 的背景加上天 空的背景

  P.sky {background-image: url(../image/sky.jpg)}
请看下面的例子

给元素背景加颜色或加图象使得我们能自由的强调一些我们想让大家注意的文字。而没有 CSS 我们只能改变整个网页的背景颜色或图象

我们不但可以决定是否给背景加图象, 还可以确定是否让这个图象重复以及在哪个方向重复。比如我们只让图象在整个网页的竖直方向重复我们就可以去掉左边有个图象条的效果。

  body {background-image: url(../image/cdbk009a.jpg);
        background-repeat: repeat-y}
background-repeat 可以有这些可能值:no-repeat, repeat-x, repeat-y

我们还可以用 background-attachment 来决定当别人浏览你的网页的是否让背景图象随着内容一起滚动。比如我们如果不让背景图象动,

  body {background-image: url(../image/cdbk009a.jpg);
        background-attachment: fixed}
这个性质挺有意思的。 如果你的背景图象是你自己网页的logo, 你想让它固定在中间不动, 用这个性质可以达到这个效果.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-18 03:26:57 | 显示全部楼层
这一节我们讨论如何用 CSS 来控制四周的空格以及边框的设定

元素周边的空格 margin
性质 margin 可被用来决定周边的空格, 假如我们想让整个网页在左边有 5em 但让标题没有任何空格

  BODY {margin: 5em}
  H3 {margin: -5em}
H3 的负值 -5em 抵销了 BODY 5em 的空格。

另外我们还可以分别用 margin-left, margin-right, margin-top, 和 margin-bottom 来设定 左,右,上,下的空格

元素内部周边的空格 padding
初看起来这个性质跟 margin 好象一样。 其实它们之间有很大的区别。margin 的空格是相对于其他的元素所空的,而 padding 是在元素的周边和内部的内容所空的空格。在下面的例子,我们用有背景颜色的 TABLE 来让你注意这个性质

  TABLE.pad {padding: 5mm; background-color: #CCEFCC}
Petersen was arrested in a modest apartment building in Studio City, Calif., which he had been sharing with three other people. The Marshals entered the apartment using a key provided by the building's manager. When they entered, the Marshals said, they found Petersen alone -- sitting on his bed and using his laptop computer.


我们同样可以用 padding-left, padding-right, padding-top, 和 padding-bottom 来分别控制左,右,上,下的元素内部的周边空格。

元素边框的宽度
我们可以用 border-width 性质来调节边框的宽度。 比如

  P.width5 {border-width: 1px}
这个 P 元素的边框宽度是 1 px

你可以用 border-left-width, border-right-width, border-top-width, 和 border-bottom-width 来分别决定左,右,上,下边的宽度

元素边框的颜色
我们可以用 border-color 性质来调节边框的颜色。 比如

  P.colorred {border-color: red}
这个 P 元素的边框的颜色是红色的

元素边框的形态
我们可以用 border-style 性质来调节边框的形态。 比如

  P.inset {border-style: inset, border-width: 5px}
这个 P 元素的边框的形态是 inset

这个 P 元素的边框的形态是 outset

这个 P 元素的边框的形态是 double

这个 P 元素的边框的形态是 groove

这个 P 元素的边框的形态是 ridge
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则