百度空间CSS

html-css024

百度空间CSS,第1张

CSS 语法

CSS 语法由三部分构成:选择器、属性和值:

selector {property: value}选择器 (selector) 通常是你希望定义的 HTML 元素或标签,属性 (property) 是你希望改变的属性,并且每个属性都有一个值。属性和值被冒号分开,并由花括号包围,这样就组成了一个完整的样式声明(declaration):

body {color: blue}上面这行代码的作用是将 body 元素内的文字颜色定义为蓝色。在上述例子中,body 是选择器,而包括在花括号内的的部分是声明。声明依次由两部分构成:属性和值,color 为属性,blue 为值。

值的不同写法和单位

除了英文单词 red,我们还可以使用十六进制的颜色值 #ff0000:

p { color: #ff0000}为了节约字节,我们可以使用 CSS 的缩写形式:

p { color: #f00}我们还可以通过两种方法使用 RGB 值:

p { color: rgb(255,0,0)}

p { color: rgb(100%,0%,0%)}请注意,当使用 RGB 百分比时,即使当值为 0 时也要写百分比符号。但是在其他的情况下就不需要这么做了。比如说,当尺寸为 0 像素时,0 之后不需要使用 px 单位,因为 0 就是 0,无论单位是什么。

记得写引号

提示:如果值为若干单词,则要给值加引号:

p {font-family: "sans serif"}多重声明:

提示:如果要定义不止一个声明,则需要用分号将每个声明分开。下面的例子展示出如何定义一个红色文字的居中段落。最后一条规则是不需要加分号的,因为分号在英语中是一个分隔符号,不是结束符号。然而,大多数有经验的设计师会在每条声明的末尾都加上分号,这么的好处是,当你从现有的规则中增减声明时,会尽可能的减少出错的可能性。就像这样:

p {text-align:centercolor:red} 你应该在每行只描述一个属性,这样可以增强样式定义的可读性,就像这样:

p {

text-align: center

color: black

font-family: arial

}空格和大小写

大多数样式表包含不止一条规则,而大多数规则包含不止一个声明。多重声明和空格的使用使得样式表更容易被编辑:

body {

color: #000

background: #fff

margin: 0

padding: 0

font-family: Georgia, Palatino, serif

}是否包含空格不会影响 CSS 在浏览器的工作效果,同样,与 XHTML 不同,CSS 对大小写不敏感。不过存在一个例外:如果涉及到与 HTML 文档一起工作的话,class 和 id 名称对大小写是敏感的。

选择器的分组

你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明。用逗号将需要分组的选择器分开。在下面的例子中,我们对所有的标题元素进行了分组。所有的标题元素都是绿色的。

h1,h2,h2,h3,h5,h6 {

color: green

}继承及其问题

根据 CSS,子元素从父元素继承属性。但是它并不总是按此方式工作。看看下面这条规则:

body {

font-family: Verdana, sans-serif

}根据上面这条规则,站点的 body 元素将使用 Verdana 字体(假如访问者的系统中存在该字体的话)。

通过 CSS 继承,子元素将继承最高级元素(在本例中是 body)所拥有的属性(这些子元素诸如 p, td, ul, ol, ul, li, dl, dt,和 dd)。不需要另外的规则,所有 body 的子元素都应该显示 Verdana 字体,子元素的子元素也一样。并且在大部分的现代浏览器中,也确实是这样的。

但是在那个浏览器大战的血腥年代里,这种情况就未必会发生,那时候对标准的支持并不是企业的优先选择。比方说,Netscape 4 就不支持继承,它不仅忽略继承,而且也忽略应用于 body 元素的规则。IE/Windows 直到 IE6 还存在相关的问题,在表格内的字体样式会被忽略。我们又该如何是好呢?

友善地对待Netscape 4

幸运地是,你可以通过使用我们称为 "Be Kind to Netscape 4" 的冗余法则来处理旧式浏览器无法理解继承的问题。

body {

font-family: Verdana, sans-serif

}

p, td, ul, ol, li, dl, dt, dd {

font-family: Verdana, sans-serif

}4.0 浏览器无法理解继承,不过他们可以理解组选择器。这么做虽然会浪费一些用户的带宽,但是如果需要对 Netscape 4 用户进行支持,就不得不这么做。

继承是一个诅咒吗?

如果你不希望 "Verdana, sans-serif" 字体被所有的子元素继承,又该怎么做呢?比方说,你希望段落的字体是 Times。没问题。创建一个针对 p 的特殊规则,这样它就会摆脱父元素的规则:

body {

font-family: Verdana, sans-serif

}

td, ul, ol, ul, li, dl, dt, dd {

font-family: Verdana, sans-serif

}

p {

font-family: Times, "Times New Roman", serif

}

派生选择器

通过依据元素在其位置的上下文关系来定义样式,你可以使标记更加简洁。

在 CSS1 中,通过这种方式来应用规则的选择器被称为上下文选择器 (contextual selectors),这是由于它们依赖于上下文关系来应用或者避免某项规则。在 CSS2 中,它们称为派生选择器,但是无论你如何称呼它们,它们的作用都是相同的。

派生选择器允许你根据文档的上下文关系来确定某个标签的样式。通过合理地使用派生选择器,我们可以使 HTML 代码变得更加整洁。

比方说,你希望列表中的 strong 元素变为斜体字,而不是通常的粗体字,可以这样定义一个派生选择器:

li strong {

font-style: italic

font-weight: normal

}

请注意标记为 <strong>的蓝色代码的上下文关系:

<p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p>

<ol>

<li><strong>我是斜体字。这是因为 strong 元素位于 li 元素内。</strong></li>

<li>我是正常的字体。</li>

</ol>

在上面的例子中,只有 li 元素中的 strong 元素的样式为斜体字,无需为 strong 元素定义特别的 class 或 id,代码更加简洁。

再看看下面的 CSS 规则:

strong {

color: red

}

h2 {

color: red

}

h2 strong {

color: blue

}下面是它施加影响的 HTML:

<p>The strongly emphasized word in this paragraph is<strong>red</strong>.</p>

<h2>This subhead is also red.</h2>

<h2>The strongly emphasized word in this subhead is<strong>blue</strong>.</h2>

CSS的定义是由三个部分构成 1. 基本语法 CSS的定义是由三个部分构成:选择符(selector),属性(properties)和属性的取值(value)。基本格式如下:[Copy to clipboard]CODE:selector {property: value} (选择符 {属性:值})选择符是可以是多种形式,一般是你要定义样式的HTML标记,例如BODY、P、TABLE……,你可以通过此方法定义它的属性和值,属性和值要用冒号隔开:[Copy to clipboard]CODE:body {color: black}选择符body是指页面主体部分,color是控制文字颜色的属性,black是颜色的值,此例的效果是使页面中的文字为黑色。如果属性的值是多个单词组成,必须在值上加引号,比如字体的名称经常是几个单词的组合:[Copy to clipboard]CODE:p {font-family: "sans serif"}(定义段落字体为sans serif)如果需要对一个选择符指定多个属性时,我们使用分号将所有的属性和值分开:[Copy to clipboard]CODE:p {text-align: centercolor: red}(段落居中排列;并且段落中的文字为红色)为了使你定义的样式表方便阅读,你可以采用分行的书写格式:[Copy to clipboard]CODE:p{text-align: centercolor: blackfont-family: arial}(段落排列居中,段落中文字为黑色,字体是arial)2. 选择符组你可以把相同属性和值的选择符组合起来书写,用逗号将选择符分开,这样可以减少样式重复定义:[Copy to clipboard]CODE:h1, h2, h3, h4, h5, h6 { color: green }(这个组里包括所有的标题元素,每个标题元素的文字都为绿色)[Copy to clipboard]CODE:p, table{ font-size: 9pt }(段落和表格里的文字尺寸为9号字)效果完全等效于:[Copy to clipboard]CODE:p { font-size: 9pt }table { font-size: 9pt }3. 类选择符用类选择符你能够把相同的元素分类定义不同的样式,定义类选择符时,在自定类的名称前面加一个点号。假如你想要两个不同的段落,一个段落向右对齐,一个段落居中,你可以先定义两个类:[Copy to clipboard]CODE:p.right {text-align: right}p.center {text-align: center}然后用不在不同的段落里,只要在HTML标记里加入你定义的class参数:[Copy to clipboard]CODE:<p class="right">这个段落向右对齐的</p><p class="center">这个段落是居中排列的</p>注意:类的名称可以是任意英文单词或以英文开头与数字的组合,一般以其功能和效果简要命名。类选择符还有一种用法,在选择符中省略HTML标记名,这样可以把几个不同的元素定义成相同的样式:[Copy to clipboard]CODE:.center {text-align: center}(定义.center的类选择符为文字居中排列)这样的类可以被应用到任何元素上。下面我们使h1元素(标题1)和p元素(段落)都归为“center”类,这使两个元素的样式都跟随“.center”这个类选择符:[Copy to clipboard]CODE:<h1 class="center">这个标题是居中排列的</h1><p class="center">这个段落也是居中排列的</p>注意:这种省略HTML标记的类选择符是我们经后最常用的CSS方法,使用这种方法,我们可以很方便的在任意元素上套用预先定义好的类样式。4. ID选择符在HTML页面中ID参数指定了某个单一元素,ID选择符是用来对这个单一元素定义单独的样式。ID选择符的应用和类选择符类似,只要把CLASS换成ID即可。将上例中类用ID替代:[Copy to clipboard]CODE:<p id="intro">这个段落向右对齐</p>定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同,定义ID选择符的属性也有两种方法。下面这个例子,ID属性将匹配所有id="intro"的元素:[Copy to clipboard]CODE:#intro{font-size:110%font-weight:boldcolor:#0000ffbackground-color:transparent}(字体尺寸为默认尺寸的110%;粗体;蓝色;背景颜色透明)下面这个例子,ID属性只匹配id="intro"的段落元素:[Copy to clipboard]CODE:p#intro{font-size:110%font-weight:boldcolor:#0000ffbackground-color:transparent}注意:ID选择符局限性很大,只能单独定义某个元素的样式,一般只在特殊情况下使用。5. 包含选择符可以单独对某种元素包含关系定义的样式表,元素1里包含元素2,这种方式只对在元素1里的元素2定义,对单独的元素1或元素2无定义,例如:[Copy to clipboard]CODE:table a{font-size: 12px}在表格内的链接改变了样式,文字大小为12象素,而表格外的链接的文字仍为默认大小。6. 样式表的层叠性层叠性就是继承性,样式表的继承规则是外部的元素样式会保留下来继承给这个元素所包含的其他元素。事实上,所有在元素中嵌套的元素都会继承外层元素指定的属性值,有时会把很多层嵌套的样式叠加在一起,除非另外更改。例如在DIV标记中嵌套P标记:[Copy to clipboard]CODE:div { color: redfont-size:9pt}……<div><p>这个段落的文字为红色9号字</p></div>(P元素里的内容会继承DIV定义的属性)注意:有些情况下内部选择符不继承周围选择符的值,但理论上这些都是特殊的。例如,上边界属性值是不会继承的,直觉上,一个段落不会同文档BODY一样的上边界值。另外,当样式表继承遇到冲突时,总是以最后定义的样式为准。如果上例中定义了P的颜色:[Copy to clipboard]CODE:div { color: redfont-size:9pt}p {color: blue}……<div><p>这个段落的文字为蓝色9号字</p></div>我们可以看到段落里的文字大小为9号字是继承div属性的,而color属性则依照最后定义的。不同的选择符定义相同的元素时,要考虑到不同的选择符之间的优先级。ID选择符,类选择符和HTML标记选择符,因为ID选择符是最后加上元素上的,所以优先级最高,其次是类选择符。如果想超越这三者之间的关系,可以用!important提升样式表的优先权,例如:[Copy to clipboard]CODE:p { color: #FF0000!important }.blue { color: #0000FF}#id1 { color: #FFFF00}我们同时对页面中的一个段落加上这三种样式,它最后会依照被!important申明的HTML标记选择符样式为红色文字。如果去掉!important,则依照优先权最高的ID选择符为黄色文字。7. 注释你可以在CSS中插入注释来说明你代码的意思,注释有利于你或别人以后编辑和更改代码时理解代码的含义。在浏览器中,注释是不显示的。CSS注释以"/*" 开头,以"*/" 结尾,如下:[Copy to clipboard]CODE:/* 定义段落样式表 */p{text-align: center/* 文本居中排列 */color: black/* 文字为黑色 */font-family: arial /* 字体为arial */}