子选择器

  在CSS样式表中, 有时候我们需要为一个选择器进行再次的选择, 比如要为某段落标签下的<span>标签进行样式设定(<span>标签必须为段落标签下的第一代子元素, 意思即中间不包含别的标签嵌套), 这个时候就要使用子选择器.

  代码示例:

  p>span{

    font-size:20px;

  }

  " > "就称之为子选择器, 它的作用就是将标签选择器下的第一代子元素的<span>标签中的文本样式设置为字号20px, 但是这种显然不是很灵活, 只能选择子一代的标签元素, 如果我需要选择多代子标签, 就需要很麻烦的依次修改.

  包含选择器

  明白了子选择器, 包含选择器也就好理解了, 它用于选择指定标签元素下的后辈元素, 可以越级指定, 而不是非要直接后代元素.

  两种选择器具体使用视情况而定, 并不是包含选择器更加方便就全部使用, 就如同程序开发中使用更多的常量会是程序更加健壮, 选择器也是这样, 选择合适的时机选择不同的选择器.

  分组选择符

  假如有一个样式, 你想同时给多个标签, 你可以给他们修改相同的类, id, 但是这样非常笨重, 而且ID选择器只可以设置一次, 所以这时候需要使用分组选择符, 通过符号" , "(没有双引号), 可以让多个选择器同时使用相同的样式.

  代码示例

  p, span{

    font-size:20px;

  }

  伪类选择符

  这个如果说用的非常多是这样, 说用的非常少, 也不为过, 主要是浏览器兼容性是个很大的问题, 万恶的IE((╯‵□′)╯︵┻━┻), 所以给大家简单介绍一个比较常用的, 也是你每天打开网页都会遇到的, 也不用担心浏览器兼容性的样式.

  a:hover{

    color:red;

  }

  这句话通过上面的学习应该很好理解, 也就是<a>标签, 修改颜色, 而hover的意思就是, 当鼠标滑过的时候, a:hover属于标签的某种状态, 所以称之为伪类选择符.

  有个叫通用选择器的东西, 这个我没仔细说, 就是选择器部分什么也不写, 用一个*代替, 它会默认选择所有的标签, 实际作用并不是很大.

  css的几个特性

  继承

  这个继承可不是面向对象中的封装继承多态的继承, 在我理解应该是标签及其子标签的共性, 在面向对象语言中子类会完全继承父类的开放接口和成员变量, 而在HTML中是对父类标签做样式修改后, 一部分规则会传递给子标签(并不是所有的规则都可以的). 比如color等属性. 更加详细的规则, 大家就自行百度啦, 毕竟学习也是一个在探寻的过程, 常见的可以继承的属性比如字号, 颜色等文字类属性, 不可继承的比如加边框等.

  权值

  这个不需要大家理解, 虽然有较为详细的数值, 但是其实也就是个优先级的问题, 简单来说就是标签选择器 < 类选择器 < ID选择器(权值的大小也是如此), 也就是说ID选择器的优先级最高, 当设置规则是是可以通过选择器覆盖的, 但是这个要在同等类型的css样式表里, 也就是说内联式就和内联式比, 外部式就和外部式比. 继承的权值非常低, 也就不过多介绍了.

  重要性

  有的时候, 我们需要为一个属性设置为最高权值, 保证在后面也不会被修改, 这个时候在属性后面写上!important即可. 这样的属性就会是最高权值, 也就是最高优先级.

  代码示例:

架设标签<p class = "wang">

样式表代码

p{

  color:red!important;

}

p.class{

  color:green;

}

  虽然代码中css样式表中后来修改的颜色为绿色, 而且p.class是类选择器, 权值高于p标签选择器, 但是因为color属性已经被设置为最高权值了, 那么颜色还会是红色, 如果为后面的color:green;也加上!important, 那么颜色会变为绿色, 因为权值是附和相加原则的, 所以实际效果要先看权值, 再看层叠覆盖(也就是最后的css样式表), 如果权值相同才看层叠覆盖.

了解HTML CSS选择器操作和特性的更多相关文章

  1. CSS选择器操作大全

    一,CSS选择器分类 二,选择器语法 1,基本选择器语法 选择器 类型 功能描述 *  通配选择器  选择文档中所以HTML元素 E  元素选择器 选择指定类型的HTML元素 #id  ID选择器 选 ...

  2. CSS 选择器继承和层叠

    CSS选择器及其继承特性.层叠特性1.基本选择器  标记  id  class  这个就不再作介绍了 2.复合选择器  交集 交集选择器由两个选择器直接连接构成,其结果是选中二者各自元素范围的交集 其 ...

  3. [2019.03.16]使用DOM操作函数和CSS选择器来针对已有的HTML进行只凭JS的改动

    刚入职的时候看到公司用的HTML日志生成工具附带的Panel,工具不够用,找个Fail还要找半天,于是自己琢磨着添砖加瓦.以前也是个半吊子前端工程师,现在可倒好,想要改页面却连页面生成的模板在哪里都不 ...

  4. HTML+css基础 css的几种形式 css选择器的两大特性

    3.外联样式 css选择器的两大特性 1.继承性:所有跟文本字体有关的属性都会被子元素继承.且权重是0000. 2.层叠性:就是解决选择器权重大小的一种能力,就是看那个选择器的权重大.谁的权重大听谁的 ...

  5. 【前端学习】【CSS选择器】

    CSS选择器     CSS选择器 CSS(Cascading Style Sheets)是一项出色的技术,它使得网页的结构和表现样式完全分离.利用CSS选择器能轻松地对某个元素添加样式而不改动HTM ...

  6. python 全栈开发,Day46(列表标签,表格标签,表单标签,css的引入方式,css选择器)

    一.列表标签 列表标签分为三种. 1.无序列表<ul>,无序列表中的每一项是<li> 英文单词解释如下: ul:unordered list,“无序列表”的意思. li:lis ...

  7. {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性  定位(position)z-index

    前端CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表来对文 ...

  8. 前端CSS css引入方式 css选择器 css选择器优先级

    一.       CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表 ...

  9. 【CSS】381- 提升你的CSS选择器技巧

    我已经使用CSS多年了,但直到最近我才深入研究了一下CSS选择器. 我为什么要这样做呢?我们都知道选择器,但麻烦的是随着时间的推移,很容易习惯于在每个项目中使用相同的可信任选择器来实现你需要做的事情. ...

随机推荐

  1. 关于SubSonic3.0插件使用SubSonic.Query.Select查询时,字段类型为tinyint时列丢失问题的Bug修复

    下午在写代码时,突然发现一个列名为Enable的字段怎么也查询不出来,开始以为可能这个名称是关键字,所以给过滤掉了,所以就将名称修改为IsEnable,问题还是一样......将名称又改为IsEnab ...

  2. IOS开发之记录用户登陆状态

    上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登 ...

  3. 利用xinetd进行时间同步

    时间同步,往往是大型项目里一个基本的需求:如果现在有多台服务器需要时间同步为标准时间,一般有如下两种做法: 一:NTP服务 将一台能上外网的服务器配成公网时间服务器(譬如:ntp服务配置文件中的0.r ...

  4. DDD 主题交流会总结及计划

    思维碰撞才能更加进步 2015年5月16日(上周六),我们举行了一次 DDD 主题的交流会,参会者主要是 ENode 群友.以及部分园友,为什么要搞这次交流会?原因很简单,就是希望可以提供对 DDD ...

  5. JS只能输入数字,数字和字母等的正则表达式

    1.只能输入英文 <input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')"> ...

  6. css学习--css基础

    学习慕课网笔记,课程:http://www.imooc.com/code/2024 1.css选择器 子选择器:parent>child 子选择器是指选择parent的范围内的第一个子元素.这里 ...

  7. byte为什么要与上0xff?

    无意间翻看之间的代码,发现了一段难以理解的代码. byte[] bs = digest.digest(origin.getBytes(Charset.forName(charsetName))) ; ...

  8. Debugging into .NET Core源代码的两种方式

    一.前言 .NET开源时间还不长,因为一直在做YOYOFx的关系,所似我常常有更深入的了解.NET Core和ASP.NET Core内容的需求,并且.NET Core平台与之前版本的变化太大,这也导 ...

  9. 初识Spring

    Spring简介 说到Spring就得提到它的作者"Rod Johnson",2002年他编写了<Expert One-on_One java EE设计与开发>一书.在 ...

  10. 4年,如何从草根成长成为CTO-(第一篇)

    茫然的求索 那一年,刚好经济危机,毕业了.经过了很长时间的“网上海投”而杳无音讯之后,终于发现“经济危机真的和自己有点关系了” ,曾经以为经济危机和自己巴刚子打不着. 拿着简历,开始到处去跑招聘市场, ...