css基础及css选择符

来源:互联网 发布:ubuntu 优麒麟 编辑:程序博客网 时间:2024/06/13 18:21
1、css简介


cascading style sheets    层叠样式表


WEB标准中的表现标准语言,表现标准语言在网页中主要对网页信息的显示进行控制,简单说就是如何修饰网页信息的显示样式。


用来表现XHTML或者XML等样式文件的计算机语言。


1998年5月21日由W3C正式推出的css2.0


目前推荐遵循的是W3C发布的CSS3.0



2、样式的建立:内部样式 外部样式 和 内联样式


实例化三属性:width  height  background
 
3、CSS语法


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


说明:


1)每个CSS样式由两部分组成,即选择符(选择器)和声明,声明又分为属性和属性值;


2)声明必须放在花括号中,属性与属性值用冒号连接。


3)每条声明用分号结束。


4)当一个属性有多个属性值的时候,属性值与属性值不分先后顺序。   
   border:1px  red  solid;


5)在书写样式过程中,空格、换行等操作不影响属性显示。 
 
内部样式:


语法:
 
<style type="text/css">
/*css语句*/
</style>


注:使用style标记创建样式时,最好将该标记写在<head></head>标签内;


4、外部样式的建立及调用


a:外部样式表的创建.
b:外部样式表的导入


*方法 一
<link rel="stylesheet" type="text/css" href="目标文件的路径及文件名全称" />
说明:使用link元素导入外部样式表时,需将该元素写在文档头部,即<head>与</head>之间。 


*方法二
<style type="text/css">
@import url(目标文件的路径及文件名全称);
</style>
注:@和import之间没有空格 url和小括号之间也没有空格;必须结尾以分号结束;


*link和import导入外部样式的区别


差别1:老祖宗的差别:link属于XHTML标签,而@import完全是CSS提供的一种方式。 link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS。


差别2:加载顺序的差别:当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式。


差别3:兼容性的差别。:@import是CSS2.1提出的,所以老的浏览器不支持,@import只在IE5以后的才能识别,而link标签无此问题。


差别4:使用dom控制样式时的差别:当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。


3) 内联样式表(行间样式,行内样式,嵌入式样式)


语法:<标签  style="属性:属性值; 属性:属性值;"></标签>


4、样式表的优先级


内联样式表的优先级别最高


内部样式表与外部样式表的优先级和书写的顺序有关,后书写的优先级别高


(覆盖的原理)。



5、CSS选择符(选择器)


选择符表示要定义样式的对象,可以是元素本身,也可以是一类元素或者制定名称的元素.


常用的选择符有八种:


基本选择符:类型选择符(div{}),id选择符#id{},class选择符.class{},


复合选择符:通配符,群组选择符,包含选择符,指定选择符,伪类选择符。
 


1) 元素选择符/类型选择符(element 选择器)


语法:元素名称{属性:属性值;} 


说明:


a)元素选择符就是以文档语言对象类型作为选择符,即使用结构中元素名称作为选择符。例如body、div、p,img,em,strong,span......等。


b)所有的页面元素都可以作为选择符;


用法:


a)如果想改变某个元素得默认样式时,可以使用类型选择符;


b) 当统一文档某个元素的显示效果时,可以使用类型选择符;



2) id选择器


语法:#id名{属性:属性值;} 


说明:


a)当我们使用id选择符时,应该为每个元素定义一个id属性,


如:<div id="box"></div>


b)id选择符的语法格式是“#”加上自定义的id名


如:#box{width:300px; height:300px;}


c)  起名时要取英文名,不能用关键字:(所有的标记和属性都是关键字)


如:head标记


d)一个id名称只能对应文档中一个具体的元素对象,


因为id只能定义页面中某一个唯一的元素对象。


e) 最大的用处:创建网页的外围结构。


 header
 nav
 banner
 con
 content
 news
 market
 footer
 top
 bottom
 

3)class选择器(类选择符/选择器)


语法:.class名{属性:属性值;}


说明:


a)当我们使用类选择符时,应先为每个元素定义一个类名称,


b)类选择符的语法格式是:"如:<div class="top"></div>"   .top


用法:class选择符更适合定义一类样式;


 .red{}


c)当一个标签有多个class名时,用一个class属性即可,名字之间用空格隔开


class="cen yellow"
 


4)*通配符
语法:*{属性:属性值;}
说明:通配符的写法是“*”,其含义就是所有元素。
用法:常用来重置样式(清空默认样式、间距)。



5)群组选择器(并集)


语法:选择符1,选择符2,选择符3{属性:属性值;}
#top,#news,div,#bottom,.nav{width:960px; margin:0 auto;}


说明:当有多个选择符应用相同的样式时,可以使用群组选择符。


居中:群组选择符{margin:0 auto;}


清间距:p,h1,h2,h3,a,img,input{ padding:0; margin:0;}


6) 包含选择器(子集)
语法:选择符1  选择符2{属性:属性值;}
#nav .box{background:black; height:60px;}


说明:选择符1和选择符2用空格隔开,含义就是选择符1中包含的所有选择符2;


7)指定选择符(交集)


语法:div.box{width:200px;}
class名为box的div标签


说明:相当于交集,同时满足两个条件才会被选中;




8) 伪类选择器(伪类选择符)


语法 :


a:link{属性:属性值;}超链接的初始状态;


a:visited{属性:属性值;}超链接被访问后的状态;


a:hover{属性:属性值;}鼠标悬停,即鼠标划过超链接时的状态;


a:active{属性:属性值;}超链接被激活时的状态,即鼠标按下时超链接的状态;


说明:
1)当这4个超链接伪类选择符联合使用时,应注意他们的顺序,推荐顺序为:


a:link,a:visited,a:hover,a:active,错误的顺序有时会使超链接的样式失效(覆盖问题);


2)为了简化代码,可以把伪类选择符中相同的声明提出来放在a选择符中;


例如:a{color:red;}     a:hover{color:green;} 


      表示超链接的三种状态都相同,只有鼠标划过变颜色。 




二、选择符的权重


css中用四位数字表示权重,权重的表达方式如:0,0,0,0


类型选择符的权重为  0001   1两
div,p,li
class选择符的权重为 0010   1斤 
.box
id选择符的权重为    0100   1吨
#header
内联样式的权重为    1000   


伪类选择符的权重为0010   a:hover{}

包含选择符的权重:为各选择符的权中之和(仅用于包含选择符之间的比较)


#header .box div{}  
0 0