第二天——css

(一)关于CSS的介绍

页面内部样式表,适合单个页面 
css语言
标签选择器:特指度为:1 ,作用范围:整个页面所有的该标签。适合用在页面整体的公共样式上。
自定义的样式优先级高于浏览器的默认样式
继承的样式优先级低于浏览器默认样式
(二)css的样式:
选择器{
      属性1:属性值;
      属性2:属性值;
      ……
}

//例子
    p{
      text-indent:2em;/*首行缩进2个字*/
      line-height:180%;/*行高为文本高度的180%*/}

(三)选择器:“标签选择器”、“id选择器”、“class选择器”、“复合选择器”、“伪类选择器”

3.1:标签选择器——作用范围:整个文档所有该标签都会用上定义的样式,适合用作底层的基础样式,比如定义整个文档的字体、背景颜色、超链接样式等。

3.1.1:单个标签

1 body{
2     font:16px/1 "microsoft YaHei";/*整个文档字体为16px,行高为文字1倍的微软雅黑。*/
3     color:#333;/*文字颜色*/
4     background-color:#eee;/*背景颜色*/
5     }

3.1.2:多个标签

1 h1,h2{
2     color:#F60;
3     text-align:center;/*文本在水平方向居中对齐*/
4     letter-spacing:2px;/*文字之间的间隔*/}

3.1.3:多个标签用空格隔开,表示包含关系,也就是嵌套,后面的标签嵌套在前面的标签里。

ps:这里要注意的是标签的解释是从右边往左边解释的,比如下面的p span,先找到span,再找到p里面的span,所以选择器应该嵌套越少越好。

1 p span{
2     color:#C03;
3     font-size:1.1em;/*文字大小是行内文字的1.1倍。*/}

3.2:ID选择器——

id选择器,具有唯一性。一个html对象的id名称是唯一的,id名称不能被重复使用。

id选择器以“#”开头。这个id名字只能用一次。

任何标签都有id和class属性。

比如为一个div添加了id="main"的属性,要为这个div做唯一的样式,则可以使用#main{样式}的方式。

#main选择器指向id="main"的html对象,把样式应用在该html对象上面。选择器相当于一个挂钩。

1 #main{
2     样式
3 }
4 
5 <div id=”main”>…</div>

3.3、class选择器

class在程序里面表示:类。物以类聚,人以群分,具有相似性。

class的语法结构是以“.”开头,class样式可以被任何需要它的标签所调用,可以使用很多次,还可以组合。

比如定义了如下几个class样式:

ps:

其实可以把class看成很多具有特定功能的零件,某个html需要什么样式,可以通过组合不同的class零件达到最大化的效果。该html对象会使用所有被调用的class样式。

感觉像小孩儿玩积木游戏呢^_^

注意:id和class的名字是自己定义的,所以一定要符合命名规则,不能用数字开头,只能字母开头,可以包含数字和下划线。不能使用保留的标签关键字。比如不能使用"#2",".div","#h1",".3a"等格式。

class最好的命名方式是取属性和属性值的首字母或者字母与数字的组合。

 1 .bg1{
 2     background-color:#ccc; 
 3 }
 4 .bg2{
 5     background-color:#eee; 
 6 }
 7 .color1{
 8     color:#f99;
 9 }
10 .color2{
11     color:#666;
12 }
13 .f18{
14     font-size:18px;
15 }
16 .f16{
17     font-size:16px;
18 }
19 .p20{
20     padding:20px;/*内边距*/
21 }
22 .m20{
23     margin:20px;/*外边距*/
24 }
 
  
1 <h1 class="color1 f18"></h1>
2 <h2 class="color2 f16"></h2>
3 <div class="bg1 p20 m20"></div>
4 <div class="bg2 p20"></div>

3.4、复合选择器

一般就是id、class、标签选择器的混合物。

比较典型的就是这种,对某个id选择器下面的所有某标签使用样式。

<div id="navlist">
    <ul>
      <li><a href="#" id="current">HTML教程</a></li>
      <li><a href="#" class="css">CSS教程</a></li>
      <li><a href="#">jQuery教程</a></li>
      <li><a href="#">SEO教程</a></li>
      <li><a href="#">关于我</a></li>
    </ul>
</div>

比如现在对id为"navlist"下面的ul下面的li下面的所有a标签使用一样的样式,选择器可以这样写:

1 #navlist ul li a{
2     样式
3 }

如果想让某个a标签样式不一样,则可以为这个a添加一个id属性或者class属性,那么可以使用如下选择器:

1 #navlist ul li a#current{
2     样式
3 }
4 #navlist ul li a.css{
5     样式
6 }

有空格的必须是上下级的嵌套关系,而这个id和class是a的直接属性,相当于是有id="current"的a和有class="css"的a。

3.5、伪类选择器-—

因为在IE6里面只支持a超链接的伪类,导致在CSS2里面伪类选择器使用比较少,用得最多的就是a:hover这种伪类选择器。

什么是伪类?其实就是本身并不存在,在特定条件下才会触发的对象。

比如超链接a一共有四个状态:访问前,鼠标悬停,当前被点击,已访问这4种伪类效果.

超链接的4种状态,需要有特定的书写顺序才能生效。 

1 a:link {} /*访问前*/
2 a:visited {}/*已访问*/
3 a:hover {} /*鼠标悬停*/
4 a:active {} /*当前被点击*/

注意,a:hover 必须位于 a:link 和 a:visited 之后,a:active 必须位于 a:hover 之后
可靠的顺序是:l(link)ov(visited)e h(hover)a(active)te, 即用喜欢(love)和讨厌(hate)两个词来概括

只不过我们一般不会定义四种状态,大部分的网站只需要鼠标悬停(经过)时样式不一样即可,其它三种状态都是一样的。所以可以定义成这样的样式:

1 a{
2     color:#333;
3     text-decoration:none;/*没有下划线*/
4 }
5 a:hover{
6     color:#f30;
7     text-decoration:underline;/*有下划线*/
8 }

此博客借鉴于——http://www.mrszhao.com/post/30.html

 

猜你喜欢

转载自www.cnblogs.com/Crush1998/p/11493908.html
今日推荐