CSS基础知识
目录
CSS 基础
?CSS 教程
?CSS 简介
?CSS 基础语法
?CSS 高级语法
?CSS 派生选择器
?CSS id 选择器
?CSS 类选择器
?CSS 属性选择器
?CSS 创建
需要具备的基础知识
在继续学习之前,你需要对下面的知识有基本的了解:
?HTML
?XHTML
CSS 概述
?CSS 指层叠样式表(C ascading S tyle S heets)
?样式定义如何显示HTML 元素
?样式通常存储在样式表中
?把样式添加到HTML 4.0 中,是为了解决内容与表现分离的问题
?外部样式表可以极大提高工作效率
?外部样式表通常存储在CSS 文件中
?多个样式定义可层叠为一
样式解决了一个普遍的问题
HTML 标签原本被设计为用于定义文档内容。通过使用
、
你可以将类fancy 分配给任何一个表格元素任意多的次数。那些以fancy 标注的单元格都会是带有灰色背景的橙色。那些没有被分配名为fancy 的类的单元格不会受这条规则的影响。还有一点值得注意,class 为fancy 的段落也不会是带有灰色背景的橙色,当然,任何其他被标注为fancy 的元素也不会受这条规则的影响。这都是由于我们书写这条规则的方式,这个效果被限制于被标注为fancy 的表格单元(即使用td 元素来选择fancy 类)。 对带有指定属性的HTML 元素设置样式。 可以为拥有指定属性的HTML 元素设置样式,而不仅限于class 和id 属性。 注释:Internet Explorer 7 (以及更高版本)在规定了!DOCTYPE 的情况下支持属性选择器。IE6 及更低的版本不支持属性选择器。 属性选择器 下面的例子为带有title 属性的所有元素设置样式: [title] { color:red; } 亲自试一试 属性和值选择器 下面的例子为title="W3School" 的所有元素设置样式: [title=W3School] border:5px solid blue; } 亲自试一试 属性和值选择器- 多个值 下面的例子为包含指定值的title 属性的所有元素设置样式。适用于由空格分隔的属性值:[title~=hello] { color:red; } 亲自试一试 下面的例子为带有包含指定值的lang 属性的所有元素设置样式。适用于由连字符分隔的属性值: [lang|=en] { color:red; } 亲自试一试 属性和值选择器- 多个值 下面的例子为包含指定值的title 属性的所有元素设置样式。适用于由空格分隔的属性值:[title~=hello] { color:red; } 亲自试一试 下面的例子为带有包含指定值的lang 属性的所有元素设置样式。适用于由连字符分隔的属性值: [lang|=en] { color:red; } 亲自试一试 设置表单的样式 属性选择器在为不带有class 或id 的表单设置样式时特别有用: input[type="text"] width:150px; display:block; margin-bottom:10px; background-color:yellow; font-family: Verdana, Arial; } input[type="button"] { width:120px; margin-left:35px; display:block; font-family: Verdana, Arial; } ? ?Next Page 如何插入样式表 当读到一个样式表时,浏览器会根据它来格式化HTML 文档。插入样式表的方法有三种:外部样式表 当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用 标签链接到样式表。 标签在(文档的)头部: 浏览器会从文件mystyle.css 中读到样式声明,并根据它来格式文档。 外部样式表可以在任何文本编辑器中进行编辑。文件不能包含任何的html 标签。样式表应该以 .css 扩展名进行保存。下面是一个样式表文件的例子: hr {color: sienna;} p {margin-left: 20px;} body {background-image: url("images/back40.gif");} 不要在属性值与单位之间留有空格。假如你使用“margin-left: 20 px”而不是“margin-left: 20px”,它仅在IE 6 中有效,但是在Mozilla/Firefox 或Netscape 中却无法正常工作。 内部样式表 当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用 内联样式 由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时。 要使用内联样式,你需要在相关的标签内使用样式(style)属性。Style 属性可以包含任何CSS 属性。本例展示如何改变段落的颜色和左外边距: This is a paragraph 多重样式 如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。 例如,外部样式表拥有针对h3 选择器的三个属性: h3 { color: red; text-align: left; font-size: 8pt; } 而内部样式表拥有针对h3 选择器的两个属性: h3 { text-align: right; font-size: 20pt; } 假如拥有内部样式表的这个页面同时与外部样式表链接,那么h3 得到的样式是: color: red; text-align: right; font-size: 20pt; 即颜色属性将被继承于外部样式表,而文字排列(text-alignment)和字体尺寸(font-size)会被内部样式表中的规则取代。 CSS 允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果。 CSS 在这方面的能力远远在HTML 之上。 背景色 可以使用background-color 属性为元素设置背景色。这个属性接受任何合法的颜色值。这条规则把元素的背景设置为灰色: p {background-color: gray;} 如果您希望背景色从元素中的文本向外少有延伸,只需增加一些内边距: p {background-color: gray; padding: 20px;} 如需查看本例的效果,可以亲自试一试! 可以为所有元素设置背景色,这包括body 一直到em 和a 等行内元素。background-color 不能继承,其默认值是transparent。transparent 有“透明”之意。也就是说,如果一个元素没有指定背景色,那么背景就是透明的,这样其祖先元素的背景才能可见。 背景图像 要把图像放入背景,需要使用background-image 属性。background-image 属性的默认值是none,表示背景上没有放置任何图像。 如果需要设置一个背景图像,必须为这个属性设置一个URL 值: body {background-image: url(/i/eg_bg_04.gif);} 大多数背景都应用到body 元素,不过并不仅限于此。 下面例子为一个段落应用了一个背景,而不会对文档的其他部分应用背景: p.flower {background-image: url(/i/eg_bg_03.gif);} 您甚至可以为行内元素设置背景图像,下面的例子为一个链接设置了背景图像: a.radio {background-image: url(/i/eg_bg_07.gif);} 如需查看上述例子的效果,可以亲自试一试! 理论上讲,甚至可以向textareas 和select 等替换元素的背景应用图像,不过并不是所 有用户代理都能很好地处理这种情况。 另外还要补充一点,background-image 也不能继承。事实上,所有背景属性都不能继承。背景重复 如果需要在页面上对背景图像进行平铺,可以使用background-repeat 属性。 属性值repeat 导致图像在水平垂直方向上都平铺,就像以往背景图像的通常做法一样。repeat-x 和repeat-y 分别导致图像只在水平或垂直方向上重复,no-repeat 则不允许图像在任何方向上平铺。 默认地,背景图像将从一个元素的左上角开始。请看下面的例子: body { background-image: url(/i/eg_bg_03.gif); background-repeat: repeat-y; } 如需查看上例的效果,可以亲自试一试。 背景定位 可以利用background-position 属性改变图像在背景中的位置。 下面的例子在body 元素中将一个背景图像居中放置: body { background-image:url('/i/eg_bg_03.gif'); background-repeat:no-repeat; background-position:center; } 为background-position 属性提供值有很多方法。首先,可以使用一些关键字:top、 bottom、left、right 和center。通常,这些关键字会成对出现,不过也不总是这样。还可以使用长度值,如100px 或5cm,最后也可以使用百分数值。不同类型的值对于背景图像的放置稍有差异。 关键字 图像放置关键字最容易理解,其作用如其名称所表明的。例如,top right 使图像放置在元素内边距区的右上角。 根据规范,位置关键字可以按任何顺序出现,只要保证不超过两个关键字- 一个对应水平方向,另一个对象垂直方向。 如果只出现一个关键字,则认为另一个关键字是center。 所以,如果希望每个段落的中部上方出现一个图像,只需声明如下: p { background-image:url('bgimg.gif'); background-repeat:no-repeat; background-position:top; } 下面是等价的位置关键字: 单一关键字等价的关键字 center center center top top center 或center top bottom bottom center 或center bottom right right center 或center right left left center 或center left 百分数值 百分数值的表现方式更为复杂。假设你希望用百分数值将图像在其元素中居中,这很容易: body { background-image:url('/i/eg_bg_03.gif'); background-repeat:no-repeat; background-position:50% 50%; } 这会导致图像适当放置,其中心与其元素的中心对齐。换句话说,百分数值同时应用于元素和图像。也就是说,图像中描述为50% 50% 的点(中心点)与元素中描述为50% 50% 的点(中心点)对齐。 如果图像位于0% 0%,其左上角将放在元素内边距区的左上角。如果图像位置是100% 100%,会使图像的右下角放在右边距的右下角。 因此,如果你想把一个图像放在水平方向2/3、垂直方向1/3 处,可以这样声明: body { background-image:url('/i/eg_bg_03.gif'); background-repeat:no-repeat; background-position:66% 33%; } 如果只提供一个百分数值,所提供的这个值将用作水平值,垂直值将假设为50%。这一点与关键字类似。 background-position 的默认值是0% 0%,在功能上相当于top left。这就解释了背景图像为什么总是从元素内边距区的左上角开始平铺,除非您设置了不同的位置值。 长度值 长度值解释的是元素内边距区左上角的偏移。偏移点是图像的左上角。 CSS复习题CSS样式复习 一、判断对错 二、填空 1.CSS(Cascading Style Sheets)是层叠样式表的缩写”层叠”就是将显示样式独立于显示的内容,进行分类 管理. 2.Css样式上下文选择符定义嵌套标记的样式。 3.层叠样式表的英文缩写是CSS(t) 4.选择器是指要引用样式的对象,它可以是一个或多个HTML标记(各个标记之间以逗号分开),也可以是类选 择符、ID选择符或属性选择符等。 5.css样式定义中可以加入注解,格式为:/*字符串*/ 6.CSS样式表定义的基本语法为:选择器{样式属性名称:属性值;样式属性名称:属性值;} 7.外部样式表文件将样式表定义为一个独立的CSS样式文件,使用该样式表的HTML文件在头部用标记 链接到这个CSS样式文件,优先级低。 8.内嵌样式表利用 |