我爱编程

CSS基础知识一

2016-11-21  本文已影响25人  lanvy

知识点导航

* CSS初步认识
    1.整体感知
    2.常见属性
* CSS基础选择器
    1.标签选择器
    2.id 选择器
    3.类选择器
* CSS高级选择器
    1.后代选择器
    2.交集选择器
    3.并集选择器
    4.通配符 *        
* CSS3部分选择器
    1.儿子选择器 ( IE7开始兼容 )
    2.序选择器 ( IE8开始兼容 )
    3.下一个兄弟选择器 ( IE7开始兼容 )
* CSS的继承性和层叠性
    1.继承性
    2.层叠性(权重初识)

一、CSS初步认识<p>

HTML 超文本标记语言  从 语义 的角度描述页面 结构
CSS  层叠样式表     从 审美 的角度描述页面 样式
JS   JavaScript   从 交互 的角度描述页面 行为

css 是 cascading style sheet 层叠式样式表的简写

  <head>
    <style type="text/css">
    选择器{ 
      k:v;
      k:v; 
    }
    </style>
  </head>`

前期书写css的地方为 style 标签,包裹在 head 内,从代码中可以看出,css 也是纯文本文件

注意
css对换行不敏感,对空格也不敏感,但是 冒号和分号不能省略


字体颜色
color: red;
字体大小
font-size: 40px;
背景颜色
background-color: blue;
加粗
font-weigh: bold;
不加粗
font-weigh: normal;
斜体
font-style: italic;
不斜体
font-style: normal
下划线
text-decoration: underline;
无下划线
text-decoration: none;


二、CSS基础选择器<p>

css主要的两部分知识点:
1. 选择器 (怎么选)
2. 属性 (长啥样)

1.标签选择器<p>

  <style type="text/css">
    span{ 
      color: red 
    }
  </style> 
  <h1><span>红色</span></h1>

通过标签的类型来选中标签,所有的标签都可以是标签选择器,它选中的是页面上所有这种类型的标签,所以经常用来描述“共性”,无法描述“个性”

2.id 选择器<p>

<p>我是段落 1</p>
<p>我是段落 2</p>
<p id ="para3">我是段落 3</p>
<style type="text/css"> 
  #para3 { color: red }
</style>

id 选择器的选择符是 “#”
每个标签都有 id 这个属性,表示这个标签的名字

id 命名规范
1.只能有字母,数字,下划线
2.必须以字母开头
3.不能和标签同名
4.大小写敏感
5.不能重名

3.类选择器<p>

<p>我是段落 1</p>
<p class="special">我是段落 2</p>
<p>我是段落 3</p>
<p class="special">我是段落 4</p>`
<style type="text/css">
  .special { color: red }
</style> 

类选择器的选择符是 “ . ”
任何标签都可以有 class 属性,这个属性可以重复

说明
1.class 属性可以重复(id 属性不可以)
2.同一个标签可以同时属性多个类,用空格隔开
<p class="special traditional strict">我是段落 2</p>

到底用 class 还是 id 呢?
css 一般情况下尽量使用 class, 除非极特别情况下需要使用 id,因为 id 一般是给 js 用的

三、CSS高级选择器<p>

1.后代选择器<p>

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

后代选择器的选择符是 空格“ ”
不仅仅是儿子,是所有的后代

2.交集选择器<p>

交集
<style type="text/css">
  h3.special{
    color: red;
  }
</style>

交集选择器的选择符是 “选择器.选择器”
中间是英语的句号“.”, 具体可以参考数学中交集的写法

书写规范
1.尽量不要连续交集 (div.special.span )
2.一般都是以标签开头 (div.special )

3.并集选择器(分组选择器)<p>

<style type="text/css">
  h3,special{
    color: red;
  }
</style>

并集选择器的选择符是 “选择器,选择器”
中间为英文的逗号“,”

4.通配符 * <p>

* 表示所有的元素

*{
} 

标签越多,效率越低,故一般不使用通配符

四、CSS3部分选择器<p>

1.儿子选择器

div>p{
}

儿子选择器的选择符是大于号“父类选择器>儿子选择器”
只能选择儿子,不能选择孙子及之后的后代
IE7开始兼容,IE6不兼容

2.序选择器

ul li:first-child{
}
ul li:last-child{
}

IE8开始兼容,IE6、7不兼容
如果要兼容IE6、7,则可以通过给第一个和最后一个添加class 属性来达到序选择器的效果

3.下一个兄弟选择器

div+p{
}

下一个兄弟选择器的选择符是加号“兄弟选择器+下一个兄弟选择器”
选中下一个兄弟的选择器
IE7开始兼容,IE6不兼容

五、CSS的继承性和层叠性

当设置自己的某一些属性时,自己的后代默认也设置了的这些属性,这就是继承性
哪些属性能继承?
*关于文字样式的都能继承(color、text-开头的、line-开头的、font-开头的)
*关于盒子的,定位的,布局的属性都不能继承

css处理冲突的能力,也就是选择器权重的计算,没有任何兼容问题
计算权重的一个大前提:选中了该标签,如果没有选中特定标签,权重永远为 0
选择器权重计算方式(前提:选中了该标签)
*核心公式:id 的数量,类的数量,标签的数量
*id 权重 > 类的权重 > 标签的权重
*255个标签等于一个类名,无实战意义,几乎等于不进位
*若权重一样,谁后写听谁的
*继承不影响权重,即若未选中标签,权重永远为0
*若没有选中标签,就近原则

权重总结:

1.先看选择器有没有选中指定标签,如果选中了,那么以(id 数,类数,标签数)来计算权重,谁打听谁的;如果权重一样,那么谁后写听谁的
2.如果没有选中,那么权重为0,就近原则

上一篇下一篇

猜你喜欢

热点阅读