Kidney自得其乐版CSS教程 Chapter1 Selector

Chapter 1 Selector 选择器


Version


Update


Note


1.0


2016-5-28


首次添加。欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者。

图例:CSS3以前版本    CSS3中浏览器普遍支持的属性    CSS3中未被普遍支持的属性

1、元素选择器

1.1 *

  通配符,表示所有元素

1.2 element

2、class和id

2.1 .className

2.2 #id

  在单个文档中指定唯一的元素。

  id可用于锚链接。例如:

  <a href = "#hi">click me</a>

  <div id = "hi"></div>

  点击click me,页面会跳转到锚链接的位置,并且文档的url后添加了#hi

  file:///C:/Users/kidney/Desktop/demo.html#hi

  此时div成为了目标元素,可以被div:target伪类选中。

3、关系选择器

3.1 E F

  选择E后代中所有的F

3.2 E>F

  选择E直接子代中所有的F

3.3 E~F

  选择E兄弟元素中所有的F

3.4 E+F

  选择紧跟E后面的兄弟元素F

4、属性选择器

4.1 selector[attrName]、selector[attrName = "value "]

  这是基本格式。attrName可以是自定义属性。

4.2 ~=

  选择属性值中包含指定value的元素,value指向一个完整的单词。~=表示"含有"。

4.3 *=

  选择属性值中包含指定value的字符串的元素。

  <div name = "abc def">

  div[*= "a"]  //有效

  div[*= "ef"]  //有效

4.4 ^=

  选择属性值为以指定value开头字符串的元素。^=表示"以…开头"。

  注意:只针对第一个属性值。例如:

  <div name = "abc def "></div>

  div[name ^= "ab"]  //有效

  div[name ^= "de"]  //无效

  下同。

4.5 $=

  选择属性值为以指定value结尾字符串的元素。$=表示"以…结尾"。

4.6 |=

  选择属性值为以指定value开头且用-分隔的字符串的元素。

  <div name= "ab-c de-f">

  div[name |= "ab"]  //有效

  div[name |= "a"]  //无效

  div[name |= "de"]  //无效

5、伪类选择器

5.1 子元素序列

E:first-child  E:last-child  E:nth-child(n)  E:nth-last-child(n)  E:only-child

E:first-of-type  E:last-of-type  E:nth-of-type(n)  E:nth-last-of-type(n)  E:only-of-type

nth-child(n)中的n可以是正整数、关键字even(偶)和odd(奇)和含n表达式如2n、2n+1、3n-2等。n是以1、2、3 … 的方式递增的,如果计算出的值小于等于0,会被自动忽略。nth-last-child(n)只是从子元素序列倒着数,别无二致。

  这里所谓子元素,仅仅是要求E必须具备父元素,从用法来看它们更像是兄弟元素的选择器。-child是这样解析的:首先在同级元素中找到第n个元素,然后看该元素是否与E相匹配。匹配,则选择成功,不匹配,则丢弃。-type解析的方式刚好相反,首先在同级元素中找到所有匹配E的元素,然后再在其中选择第n个。

  :only-child的解析规则是如果E是父元素唯一的子元素,则匹配成功;:only-of-type的解析规则是E是父元素唯一的该类(element type)子元素,则匹配成功。

  <div>

      <p></p>

     <span></span>

  </div>

  p:only-child  //无效

  p:only-of-type  //有效

5.2 无后元素

  :empty 选择没有后代(包括文本节点、&nbsp;占位符以及空格)的空元素。

  <p>

  </p>

  p:empty  //无效,跨行表示有空格,空格也属于文本节点

5.3 超链接爱恨四君子

  :link  :visited  :hover  :active

分别代表a元素访问前、已访问、鼠标悬停和被点击时的状态。必须按此顺序设置,提取首字母,可简记为love&hate。

  :hover被广泛运用在任何元素的悬停事件上。

5.4 表单状态

  :focus 表示文本框获得输入光标事件。

  :checked 表示单选按钮和复选框的选中事件。

  :enabled 表示可用状态的表单元素。

  :disabled 表示禁用状态的表单元素。

5.5 排除

  E:not(S) 表示在E元素集中排除S选择器所匹配的元素后剩余的元素。

6、伪对象选择器(又称伪元素)

6.1 E::before  E::after

CSS3中用双冒号以与伪类相区别,但也支持用单冒号。

  before和after用于在E的内容前和内容后生成新的内容。

  它们的用法早已超越了仅仅是在首尾添加文本内容,它们可以用来生成几乎任何新的html结构。

6.2 E::first-letter  E::first-line

它们只适用于块级元素。

  first-letter常用于设置传统印刷媒体中文本首字下沉效果。

6.3 E::selection

  用于设置文本被选择时的样式。

6.4 E::input-placeholder  E::placeholder

  用于设置表单中占位文字的样式。需要加浏览器前缀。

  只有火狐用placeholder,其它浏览器都用input-placeholder

7、选择器的层级

CCS全称是层叠样式表,其"层叠"就体现在选择器的优先级上,优先级高的覆盖优先级低的。优先级的高低依据的是"确切性、特殊性"(specification),具体遵循以下三个程序:

  一、声明的来源

  用户的重要声明>开发者的声明>用户的正常声明>浏览器的默认声明

  二、在开发者的声明中通过累计权重值判断优先级


类型(从高到低)


权重


说明


重要声明


无限大


!important


内联声明


1000


style


id选择器


100


#id


class、属性选择和伪类


10


元素和伪对象


1


通配符


0


继承



无比0还小

  三、如果累计权重值一样,则按先后顺序确定优先级

  1、内部样式表(<style>标签中的样式)>外部样式表

  2、在同一份样式表中:后面的样式>前面的样式

时间: 2024-11-11 15:34:58

Kidney自得其乐版CSS教程 Chapter1 Selector的相关文章

Kidney自得其乐版CSS教程(序)

一.课程目录 Chapter 1 Selector 选择器 Chapter 2 Box Model 盒模型 Chapter 3 Text 文本 Chapter 4 Background & Border 背景与边框 Chapter 5 Layout 布局 Chapter 6 Transform 2D/3D几何变换 Chapter 7 Transition & Animation 时间轴与动画 Chapter 8 User Interface 用户界面 Chapter 9 Web Font

Kidney自得其乐版CSS教程 Chapter7 Transition&amp;Animation

Chapter 7 Transition&Animation Version Update Note 1.0 2016-6-11 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. 1.transition transition的作用是在状态变化之间增加时间轴属性,使其呈现平滑过渡的动态效果. 它是以下四个属性的简写: 1.1 transition-property 设置参与过渡的属性.具备动画性的属性才会有过渡效果. 值:属性名(多个属性名用逗号隔开),all 1.2 tran

Kidney自得其乐版CSS教程 Chapter5 Layout

Chapter 5 Layout Version Update Note 1.0 2016-6-5 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. 图例:CSS3以前版本    CSS3中浏览器普遍支持的属性    CSS3中未被普遍支持的属性 CSS布局体系 浮动 定位 列表 表格 分列 伸缩盒 1.浮动 1.1 float 值:left,right,none(默认值) 相对定位也可以设置浮动,绝对定位则不行. 浮动会脱离文档流,但其包含块仍然是父元素,这一点和绝对定位元素

Kidney自得其乐版CSS教程 Chapter2 Box Model

Chapter 2 Box Model Version Update Note 1.0 2016-5-31 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. 1.元素的分类        1.1 替换元素 替换元素就是替身元素,它替别人占个位,它不是普通的标签,它代表某种元件. 例如:<img> <source><input><embed>……        1.2 非替换元素 大部分元素都是非替换元素. 从形式上看非替换元素是一对标签,替

Kidney自得其乐版CSS教程Chapter6 Transform

Chapter 6 Transform Version Update Note 1.0 2016-6-11 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. transform用于2D/3D几何变换,包括平移translate.旋转rotate.缩放scale和倾斜skew.这些几何变换有三个关键点:坐标原点.坐标和轴. 本来打算按之前的体例写,但是几何变换用图形最能说明一切,特别是网上有现成的资源,基本囊括了所有几何变换,非常直观,不用费一个字解释. 参见:http://we

Kidney自得其乐版CSS教程 Chapter3 Text

Chapter 3 Text Version Update Note 1.0 2016-6-1 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. 文本 字体 颜色 排版 修饰 书写模式 其它 1.字体 1.1 font-style 值:normal(默认),italic,oblique italic是从字体中选择斜体样式,如果某种字体无斜体样式,则用oblique设置斜体. 1.2 font-variant 值:normal,small-caps variant表示“变体”,用

2014年最新的辛星html、css教程打包发布了,免积分,纯PDF(还有PHP奥)

首先说一下,这个教程是我的所有的博客的精华,我整理了两天之后才做出的这个pdf文档,累死我了,下面免积分给大家,希望大家能够不吝指正,提出它的一些不足什么的,谢谢啦: 下面就是它的下载地址了:2014年辛星html.css教程   如果上面的地址打不开,可以去浏览器中输入如下地址,然后再打开即可: http://download.csdn.net/detail/xinguimeng/7678945     . 还有自己之前写的PHP的一些教程,第一本:PHP教程 ,下载连接:2014年辛星PHP

2014年度辛星css教程夏季版第二节

第一节我们简介了一下CSS的工作流程,我相信读者会有一个大体的认识,那么接下来我们将会深入的研究一下CSS的细节问题,这些问题的涉及将会使我们的工作更加完善. *************注释************ 1.CSS也是需要注释的,注释中的内容不会被解释执行,它也和C语言一样,用/*开头,用*/结尾,其中的内容会被当做注释,我们想怎么写就怎么写. 2.下面给个例子: p{ color: green; /* 我们在这里书写注释 * 辛星CSS,与博客园共同成长 */ font-size:

影梭Android版使用教程

影梭Android版使用教程 2015年5月13日  admin  影梭使用教程 下载影梭Android版客户端 安卓客户端下载:下载地址 安装并打开影梭 按下图说明设置服务器.远程端口.密码和加密方式,填写完成后,右上角点击开启 服务器购买连接 影梭 影梭安卓教程 影梭教程