css基础

1、css的介绍
 
层叠样式表(英文全称:Cascading Style Sheets)
 
2、css基础语法
 
CSS语法由两部分组成:选择符、声明。   声明包括:属性和属性值
 
选择符 {属性: 属性值 ;属性:属性值}
 
 
CSS语法说明:
每个CSS样式由两部分组成,即选择符和声明,声明又分为属性和属性值;
属性必须放在花括号中,属性与属性值用冒号连接。
每条声明用分号结束。
当一个属性有多个属性值的时候,属性值与属性值不分先后顺序。
在书写样式过程中,空格、换行等操作不影响属性显示。
 
 
 
例如:div{ 200px;height:200px;background:red; }
 
 
 
4、样式的建立:内部样式   外部样式    和内联样式
 
a、内部样式表(嵌套到页面中)
 
语法
     <style type="text/css">
         css语句
      </style>
 
注:使用style标记创建样式时,最好将该标记写在<head></head>;
 
b、外部样式 2种方式
a:外部样式表的创建
b:外部样式表的导入
 
方法一:
   语法: <link rel="stylesheet" type="text/css" href="目标文件的路径及文件名全称" />
  
   说明:使用link元素导入外部样式表时,需将该元素写在文  档头部,即<head>与</head>之间。       rel:用于定义文档关联,表示关联样式表;       type:定义文档类型;
 
 
方法二:
   语法:<style type="text/css">
           @import  url("目标文件的路径及文件名全称");
        </style>
   说明:@和import之间没有空格 url和小括号之间也没有空格;括号内部加引号,必须结尾以分号结束;
 
c、内联样式(表行间样式,行内样式,嵌入式样式)
 
语法:<标签 style=“属性:属性值;属性:属性值;”></标签>
 
例如:<div style="100px;"></div>
 
 
 
5、样式表的优先级
 
内联样式表的优先级别最高
内部样式表与外部样式表的优先级和书写的顺序有关,后书写的优先级别高
 
6、css选择符(选择器)
 
选择符的定义
      选择符表示要定义样式的对象,可以是元素本身,也可以是一类元素或者制定名称的元素.
   
     常用的选择符有十种左右 类型选择符,id选择符,class选择符,通配符,群组选择符,包含选择符,伪类选择符,伪对象选择符。
 
a、元素选择符/类型选择符(element选择器)
语法:元素名称{属性:属性值;}
 
类型选择符是根据html语言中的标记来直接定义
 
说明:
     a)元素选择符就是以文档语言对象类型作为选择符,即使用结构中元素名称作为选择符。例如body、div、p,img,em,strong,span......等。
     b)所有的页面元素都可以作为选择符; 用法:如果想改变某个元素得默认样式时,可以使用类型选择符;
 
用法:
      (1)如果想改变某个元素的默认样式时,可以使用类型选择符;(如:改变一个p段落样式)
      (2)当统一文档某个元素的显示效果时,可以使用类型选择符;(如:改变文档所有p段落样式)
案例:搭色块
 
b、id选择器
语法:#id名{属性:属性值;}
说明:
   1、当我们使用id选择符时,应该为每个元素定义一个id属性;  如:<div id="top"></div>  
    2、id选择符的语法格式是“#”加上自定义的id名;  如:#box{300px; height:300px;}  
    3、起名时要取英文名,不能用关键字:(所有的标记和属性都是关键字)  
    4、一个id名称只能对应文档中一个具体的元素对象,因为id只能定义页面中某一个唯一的元素 对象。  
    5、最大的用处:创建网页的外围结构
 
c、class选择器
语法:.class名{属性:属性值;}
说明:
      当我们使用类选择符时,应先为每个元素定义一个类名称,
      类选择符的语法格式是:"如:<div class="top"></div>"
      用法:class选择符更适合定义一类样式;
 
d、伪类选择器
a:link {color: red;}        /* 未访问的链接状态 */
a:visited {color: green;}    /* 已访问的链接状态 */
a:hover {color: blue;}     /* 鼠标滑过链接状态 */
a:active {color: yellow;} /* 鼠标按下去时的状态 */
 
说明:
      1)当这4个超链接伪类选择符联合使用时,应注意他们的顺序,正常顺序为: a,a:link,a:visited,a:hover,a:active,错误的顺序有时会使超链接的样式失效;
      2)为了简化代码,可以把伪类选择符中相同的声明提出来放在a选择符中; 例如:a{color:red;}     a:hover{color:green;} 表示超链接的三种状态都相同,只有鼠标划过变化颜色。
 
e、群组选择器
语法:选择符1,选择符2,选择符3......{属性:属性值;}
说明:当有多个选择符应用相同的样式时,可以将选择符用“,”分隔的方式,合并为一组。
实例:.top, #nav, p{100px;}
 
f、包含选择器
语法:选择符1(父)  选择符2(子){属性:属性值;}
说明:选择符1和选择符2用空格隔开,含义就是选择符1中包含的所有选择符2;
实例: div   ul  li{height:200px;}
 
g、通配符
语法:*{属性:属性值;}
说明:通配选择符的写法是“*”,其含义就是所有元素。
用法:常用来重置样式。
 
h、选择符的权重
css中用四位数字表示权重,权重的表达方式如:0,0,0,0
类型选择符的权重为0001
class选择符的权重为0010
id选择符的权重为0100
子选择符的权重为0000
属性选择符的权重为0010
伪类选择符的权重为0010
伪元素选择符的权重为0010
包含选择符的权重:为包含选择符的权重之和
内联样式的权重为1000
继承样式的权重为0000
注:如果权重相同时,则执行后写的样式;
 
 
当不同选择符的样式设置有冲突的时候,高权重选择 符的样式会覆盖低权重选择符的样式。
例如:b    .demo的权重是1+10=11                     .demo的权重是10                         
所以经常会发生.demo的样式失效
 
当不同选择符的样式设置有冲突的时候,高权重选择 符的样式会覆盖低权重选择符的样式。
例如:b    .demo的权重是1+10=11                     .demo的权重是10
所以经常会发生.demo的样式失效
*相同权重的选择符,样式遵循就近原则:哪个选择符最后定义,就采用哪个选择符样式。
(注意:是css样式中定义该选择符的先后,而不是html中使用先后)
 
扩展知识:*link和import导入外部样式的区别
 
7、html与css的注释
html的注释 <!--******注释内容++++++++++====-->  
css的注释 /*-----------------注释内容--------------------*/
 
 
当不同选择符的样式设置有冲突的时候,高权重选择 符的样式会覆盖低权重选择符的样式。
例如:b    .demo的权重是1+10=11                     .demo的权重是10                         
所以经常会发生.demo的样式失效
*相同权重的选择符,样式遵循就近原则:哪个选择符最后定义,就采用哪个选择符样式。
(注意:是css样式中定义该选择符的先后,而不是html中使用先后)
 
扩展知识:*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可以控制的.
原文地址:https://www.cnblogs.com/Boombrother/p/6605012.html