码迷,mamicode.com
首页 > Web开发 > 详细

认识CSS

时间:2016-08-08 23:58:41      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:

1.什么是CSS

  CSS全称为“层叠样式表 (Cascading Style Sheets)”

2.CSS能做什么

  • CSS把很多以前需要使用图片和脚本来实现的效果、甚至动画效果,只需要短短几行代码就能搞定。比如圆角,文字阴影和盒阴影,过度、动画等。
  • CSS简化了前端开发工作人员的设计过程,更灵活的页面布局,更快的页面加载速度。
  • 可以将站点上所有的网页风格都使用一个CSS文件进行控制,只要修改这个CSS文件中相应的代码,那么整个站点的所有页面都会随之发生变动。
  • CSS可以支持多种设备,比如手机、PDA、打印机、电视机、游戏机等。
  • 目的:将表现与结构分离。

  简单来说就是,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等。

  代码如下:

p{
    font-size:20px;/*设置文字字号*/
    color:red;/*设置文字颜色*/
    font-weight:bold;/*设置字体加粗*/
}

  使用CSS样式的一个好处是通过定义某个样式,可以让不同网页位置的文字有着统一的字体、字号或者颜色等。

 

3.CSS语法结构

  css 样式由选择符声明组成,而声明又由属性组成,如下图所示:

  技术分享

  选择符:又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有的段(p)的文字将变成蓝色,而其他的元素(如ol)不会受到影响。

  声明:在英文大括号“{}”中的的就是声明,属性和值之间用英文冒号“:”分隔。当有多条声明时,中间可以英文分号“;”分隔,如下所示:

p{font-size:12px;color:red;} 

  注意:

  1、最后一条声明可以没有分号,但是为了以后修改方便,一般也加上分号。

  2、为了使用样式更加容易阅读,可以将每条代码写在一个新行内,如下所示:

p{
  font-size:12px;
  color:red;    
}

 

4.如何引入CSS

  三种方式引入:

  4.1.内行引入:内行引入css样式表就是把css代码直接写在现有的HTML标签中,如下面代码:

<p style="color:red">这里的文字你觉得是不是红色呢?</p>

  并且css样式代码要写在style=""双引号中,如果有多条css样式代码设置可以写在一起,中间用分号隔开。如下代码:

<p style="color:red;font-size:12px">相信我,这里的文字是红色</p>

  4.2.页面引入:就是可以把css样式代码写在<style type="text/css"></style>标签之间。如下代码:

<style type="text/css">
    p{
      color:red;          
    } 
</style>

  4.3.外部样式表:外部式css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在<head>内(不是在<style>标签内)
    使用<link>标签将css样式文件链接到HTML文件内,如下面代码:

style.css:

body{
  background-color:red;
}

index.html:

<head>
    <link rel="stylesheet" type="text/css" href="style.css"
</head> 

  注意:

  1、css样式文件名称以有意义的英文字母命名,如 main.css。

  2、rel="stylesheet" type="text/css" 是固定写法不可修改。

  3、<link>标签位置一般写在<head>标签之内。

 

5.CSS优先级

  5.1.样式的优先级:

  多重样式(Multiple Styles):如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。

  一般情况下,优先级如下:

  (外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)Inline style

  有个例外的情况,就是如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。如下代码:

styel.css:

 

h1{
  color:red;  
}

 

html代码:

<head>
        <!--内部样式-->
    <title>无标题</title>
    <style type="text/css">
    h1{color: green;}
    </style>
        <!--外部样式 style.css-->
    <link rel="stylesheet" type="text/css" href="styel.css">
</head>
<body>
    <h1>测试</h1>
</body>

 

  简单来说就是:就近原则

  5.2.选择器优先权

技术分享

  解释:

  1.  内联样式表的权值最高 1000;

  2.  ID 选择器的权值为 100

  3.  Class 类选择器的权值为 10

  4.  HTML 标签选择器的权值为 1

p{color:red;} /*权值为1*/
p span{color:green;} /*权值为1+1=2*/
.warning{color:white;} /*权值为10*/
p span.warning{color:purple;} /*权值为1+1+10=12*/
#footer .note p{color:yellow;} /*权值为100+10+1=111*/

 

  注意:还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。

  参考链接

 

6.CSS代码注释

  css代码注释,以/*开始*/结束。如下代码:

 

/*公共样式*/
body{font-size:12px;color:red;}

/*导航开始*/
#nav{...
}
/*导航结束*/

 

 

7.选择符(也叫选择器)

  每一条css样式声明(定义)由两部分组成,形式如下:

选择器{
  样式;  
}

  在{}之前的部分就是“选择器”,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素。

 

  7.1.通配选择符 *

  * 号表示所有的对象

  所谓通配选择符,就是指可以使用模糊指定的方式来对对象进行选择,指定样式。代码入下:

*{
  color:red;
  font-size:12px;    
}

  7.2.元素选择符

  所谓元素选择符,指以网页中已有的标签名作为选择符。代码如下:

body{...}

h1{...}

p{...}

  7.3.群组选择符

  除了可以对单个标签进行样式指定外,还可以对一组标签进行相同的样式定义。如下代码:

h1,h2,h3,p{
  font-size:12px;
  color:red;    
}

  使用逗号对选择符进行分隔。对页面中需要使用同样式的地方,只需写一次样式。

  7.4.关系选择符

  

选择符名称版本描述
E F 包含选择符(Descendant combinator) CSS1 选择所有被E元素包含的F元素。
E>F 子选择符(Child combinator) CSS2 选择所有作为E元素的子元素F。
E+F 相邻选择符(Adjacent sibling combinator) CSS2 选择紧贴在E元素之后F元素。
E~F 兄弟选择符(General sibling combinator) CSS3 选择E元素所有兄弟元素F。

  7.4.1.子选择符:

  语法:E>F { sRules }

  说明:选择所有作为E元素的子元素F。与包含选择符不同的是,子选择符只能命中子辈元素,而不能命中孙辈。

.food>li{border:1px solid red;}

  7.4.2.包含选择符:

  语法:E F { sRules }

  说明:选择所有被E元素包含的F元素。与子选择符不同的是,包含选择符将会命中所有符合条件的后代,包括儿子,孙子,孙子的孙子...

.first  span{color:red;}

  请注意这个选择器与子选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代
元素。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择。

  总结:>作用于元素的第一代后代,空格作用于元素的所有后代。

  7.4.3.相邻选择符:

  语法:E~F { sRules }

  说明:选择紧贴在E元素之后F元素。与兄弟选择符不同的是,相邻选择符只会命中符合条件的相邻的兄弟元素。

p~p{color:red;}

  7.4.4.兄弟选择符:

  语法:E+F { sRules }

  说明:选择E元素后面的所有兄弟元素F。与相邻选择符不同的是,兄弟选择符会命中所有符合条件的兄弟元素,而不强制是紧邻的元素。

p+p{color:red;}

 

 

(未完待续...)

认识CSS

标签:

原文地址:http://www.cnblogs.com/lzh739887959/p/5751270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!