CSS 速成 (1)

CSS认识

一个样式表由样式规则组成, 以告诉浏览器怎样去呈现一个文档. 有很多将样式规则加入到你的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 属性部分也给出了.

CSS 结构和规则

基本语法

选择符

任何HTML元素都可以是一个CSS1的选择符。选择符仅仅是指向特别样式的元素。例如,

P { text-indent: 3em }

当中的选择符是P。

类选择符

单一个选择符能有不同的class(类),因而允许同一元素有不同样式。例如,一个网页制作者也许希望视其语言而定,用不同的颜色显示代码 :

code.html { color: #191970 }
code.css { color: #4b0082 }

以上的例子建立了两个类,css和html,供HTML的code元素使用。class属性是用于在HTML中以指明元素的类,

例如:<p class=warning>每个选择符只允许有一个类。

例如:code.html.proprietary是无效的。

类的声明也可以无须相关的元素:.note { font-size: small }
在这个例子,名为note的类可以被用于任何元素。
一个良好的习惯是在命名类的时候,根据它们的功能而不是根据它们的外观。上述例子中的note类也可以命名为small,但如果网页制作者决定改变这个类的样式,使得它不再是小字体的话,那么这个名字就变得毫无意义了。

id 选择符

id 选择符个别地定义每个元素的成分。这种选择符应该尽量少用,因为他具有一定的局限。一个id选择符的指定要有指示符"#"在名字前面。例如,id选择符可以指定如下:

#svp94O { text-indent: 3em }
这点可以参考HTML中的id属性:
<p id=svp94O>文本缩进3em</P>

关联选择符

关联选择符只不过是一个用空格隔开的两个或更多的单一选择符组成的字符串。这些选择符可以指定一般属性,而且因为层叠顺序的规则,它们的优先权比单一的选择符大。例如, 以下的上下文选择符
p em{ background: yellow }

是p em。这个值表示段落中的强调文本会是黄色背景;而标题的强调文本则不受影响。

声明属性

一个属性被指定到选择符是为了使用它的样式。属性的例子包括颜色、边界和字体。

声明的值是一个属性接受的指定。例如,属性颜色能接受值red。

组合

为了减少样式表的重复声明,组合的选择符声明是允许的。例如,文档中所有的标题可以通过组合给出相同的声明:
H1, H2, H3, H4, H5, H6 { color: red; font-family: sans-serif }

继承

实际上,所有在选择符中嵌套的选择符都会继承外层选择符指定的属性值,除非另外更改。例如,一个body定义了的颜色值也会应用到段落的文本中。

有些情况是内部选择符不继承周围的选择符的值,但理论上这些都是特殊的。例如,上边界属性是不会继承的;直觉上,一个段落不会有同文档body一样的上边界值。

注解

样式表里面的注解使用C语言编程中一样的约定方法去指定。CSS1注解的例子如以下格式:
/* COMMENTS CANNOT BE NESTED */

伪类和伪元素

伪类和伪元素是特殊的类和元素,能自动地被支持CSS的浏览器所识别。伪类区别开不同种类的元素(例如,visited links(已访问的连接)和active links(可激活连接)描述了两个定位锚(anchors)的类型)。伪元素指元素的一部分,例如段落的第一个字母。

伪类或伪元素规则的形式如

选择符:伪类 { 属性:}
或
选择符:伪元素 { 属性:}

伪类和伪元素不应用HTML的class属性来指定。一般的类可以与伪类和伪元素一起使用,如下:

选择符.类: 伪类 { 属性:}
或
选择符.类: 伪元素 { 属性:}

定位锚伪类

伪类可以指定A元素以不同的方式显示连接(links)、已访问连接(visited links)和可激活连接(active links)。定位锚元素可给出伪类link、visited或active。一个已访问连接可以定义为不同颜色的显示,甚至不同字体大小和风格。

一个有趣的效果是使当前(或“可激活”)连接以不同颜色、更大的字体显示。然后,当网页的已访问连接被重选时,又以不同颜色、更小字体显示。这个样式表的示例如下:

A:link { color: red }
A:active { color: blue; font-size: 125% }
A:visited { color: green; font-size: 85% }

首行伪元素

通常在报纸上的文章,例如Wall Street Journal中的,文本的首行都会以粗印体而且全部大写地展示。CSS1包括了这个功能,将其作为一个伪元素。首行伪元素可以用于任何块级元素(例如P、H1等等)。以下是一个首行伪元素的例子:

P:first-line {
font-variant: small-caps;
font-weight: bold }

首个字母伪元素

首个字母伪元素用于加大(drop caps)和其他效果。含有已指定值选择符的文本的首个字母会按照指定的值展示。一个首个字母伪元素可以用于任何块级元素。例如:

P:first-letter { font-size: 300%; float: left }

会比普通字体加大三倍。

层叠顺序

当使用了多个样式表,样式表需要争夺特定选择符的控制权。在这些情况下,总会有样式表的规则能获得控制权。以下的特性将决定互相对立的样式表的结果。
! important

规则可以用指定的! important 特指为重要的。一个特指为重要的样式会凌驾于与之对立的其它相同权重的样式。同样地,当网页制作者和读者都指定了重要规则时,网页制作者的规则会超越读者的。以下是! important 声明的例子:

body { background: url(...) white;
background-repeat: repeat-x ! important }
origin of rules (author's vs. Reader's)

正如以前所提及的,网页制作者和读者都有能力去指定样式表。当两者的规则发生冲突,网页制作者的规则会凌驾于读者的其它相同权重的规则。而网页制作者和读者的样式表都超越浏览器的内置样式表。

网页制作者应该小心地使用! important 规则,因为它们会超越用户任何的! important 规则。例如,一个用户由于视觉关系,会要求大字体或指定的颜色,而且这样的用户会有可能声明确定的样式规则为! important,因为这些样式对于用户阅读网页是极为重要的。任何的! important 规则会超越一般的规则,所以建议网页制作者使用一般的规则以确保有特殊样式需要的用户能阅读网页。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值