CSS的出现,将页面内容与样式彻底分离,极大地改善了HTML在页面显示方面的缺陷。
使用CSS可以控制HTML标签的显示样式,如页面的布局、字体、颜色、背景和图文混排等效果。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
在网站的风格方面,一个CSS样式文件可以在多个页面中使用,当用户修改CSS样式文件时,所有引用该样式文件的页面外观都随之发生改变。
div{color:blue;font-size:12px}
div为选择器,color和font-size为属性,blue和12px为属性值
其中,第一项必须是选择器或选择器表达式,一个选择器可以包含有一个或多个声明。选择器之后紧跟一对大括号,每个声明由属性和属性值成,且位于大括号之内,声明之间需以英文分号进行间隔。
要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。要使用CSS对HTML页面中的元素实现一对一、一对多或者多对一的控制,这就需要用到CSS选择器。在CSS中,执行这一任务的样式规则部分被称为选择器。HTML页面中的元素就是通过CSS选择器进行控制的。
CSS基本选择器有通用选择器、标签选择器、属性选择器、类选择器和id选择器等多种类型。
通用选择器使用通配符“*”表示,它是所有选择器中作用范围最广的选择器,能匹配页面中所有的元素,其语法格式如下:
*{属性1:属性值1;属性2:属性值2;...属性n:属性值n;}
例如下面的代码,使用通配符选择器定义CSS样式,清除所有HTML标签的默认边距。
*{
margin:O;
/*定义外边距*/
padding:0;
/*定义内边距*/
}
标签选择器是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式,其语法格式如下:
标签名{属性1:属性值1;属性2:属性值2;...属性n:属性值n;}
标签选择器最大的优点是能快速为页面中同类型的标签统一样式,同时这也是它的缺点,不能设计差异化样式。标签选择器自动应用于HTML标签。
注意:标签选择器根据元素的标签名称查找。
类选择器使用英文点号“.”进行标识,后面紧跟类名,其语法格式如下:
.类名{属性1:属性值1;属性2:属性值2;...属性n:属性值n;}
类选择器最大的优势是可以为元素对象定义单独或相同的样式。类选择器对HTML实体元素通过class属性应用类样式(也称点样式)。
注意:类选择器根据class属性值查找元素。
id选择器使用“#”进行标识,后面紧跟id名,其语法格式如下:
#id名{属性1:属性值1,属性2:属性值2;...属性n:属性值n;}
该语法中,id名即为HTML元素的id属性值,大多数HTML元素都可以定义id属性,元素的id值是唯一的,只能对应于文档中某一个具体的元素。id选择器对HTML实体元素通过id属性应用#样式(也称唯一样式)。
注意:id选择器根据id属性值查找元素
组合选择器是由两个或多个基本选择器通过不同的方式组合而成的,具体有如下五种。
后代选择器用来选择元素或元素组的后代,其写法就是把外层标签写在前面,内层标签写在后面.中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。例如:
div #main p.one{
color:red; font-size:18px;/*多级后代*/
}
注意:后代选择器根据上下文选择元素,用以实现样式的精准控制。
子选择器是特殊的后代选择器,用来选择某个元素的直接后代(间接子元素不适用),父子选择器之间用大于号分隔。子选择器只能出现在后代选择器之后,否则,效果被子选择覆盖,一个子选择器的示例代码如下:
links a{
color:red;/*元素links的所有超链接为红色*/
}
#links>a{
color:blue;/*元素links的首个超链接被修改为蓝色*/
}
又如:
ul>li{
color;blue;/*所有11都是ul的儿子,因此.所有列表项都将为蓝色*/
交集选择器由两个选择器构成,其中第一个为标签选择器,第二个为class类选择器或id选择器,两个选择器之间不能有空格,例如
h3.special或p#one
并集选择器是各个选择器通过逗号连接而成的、任何形式的选择器(包括标签选择器class类选择器、id选择器等),都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为它们定义相同的CSS样式。例如:
p,.box,span{
font-size:12px;
}
同一个标签,根据其不同的状态,有不同的样式.这称为“伪类”。伪类用冒号“:“来表示。
伪类样式为选择器添加了一些特殊效果。当用户和文档进行交互的时候,一个元素可以获取或者失去一个伪类。“伪”的含义是:它不像类样式那样,需要使用class属性。例如:a hover(鼠标位于超链接上时)、image:hover和p:after(在选定的元素后插人内容)等,都是伪类样式。
用于设置文本的行间距,就是调整行与行之间的距离。
line-height有三种属性单位,分别为像素px;相对值em;百分比%,其中像素是最常用的。
用于设置文本上下划线、删除线等装饰效果。其中none表示没有修饰,为默认值、underline表示下划线、overline表示上划线、line-through表示删除线
用于设置文本内容的水平对齐。
其中left为左对齐(默认值),right为右对齐,center为居中对齐。
用于定义元素的宽度,其取值单位为像素或百分比。
用于定义元素的高度,其取值单位为像素或百分比。
用于设置块元素的浮动,其中,left设置元素左浮动;right设置元素右浮动;none设置元素不浮动,默认值;inherit设置从父元素继承float属性值。
属性clear用于设置元素的哪一侧不允许其他浮动元素,其属性值如下: