CSS选择器的类型:
  1. 标签选择器
  2. 类选择器
  3. ID选择器
  4. 全局选择器
  5. 群组选择器
  6. 后代选择器
 

1.标签选择器:
    以HTML的标签作为选择器,凡是选择了一个标签,那么所有这个标签的内容都是用了css样式
    用法很简单,直接在style中 标签{}即可声明
<style>
p,h1,a{font-size:50px;}
</style>
 

2.类选择器:
    标签选择器无法实现某一类标签里的标签css样式特殊化化
    通过个标签命名类分类,例如<p class="pclass"> </p>来将一个p便签命名为pclass,再在style中以 .(点)pclass(类名)来声明
    .pclass{color:red;}
    可以给同一类的不同标签设置不同的样式,只需要在.classname前加入标签名,例如p.classname{}
    一个标签可以引用多个类选择器创建的样式,用空格隔开,例如

<p class=“one two three”></p>
 

3.ID选择器:
    用法与类选择器类似,在开始标签中添加标签的id,例

<p id=“one”>ID选择器</P>
 在style中用#id声明,例
  

<style>
#one{color:red;}
</style>
    ps:一个标签只能有一个id
 

4.群组选择器:
    既一个声明有多个选择器,他们以逗号隔开,例
.red,#one,p{font-size:30px;}
 

5.全局选择器:
    顾名思义全局选择器就是一个声明选择所有的标签,用*表示所有的标签,又叫通配符选择器
*{color:yellow;}

 
6.后代选择器:
    父子节点以空格隔开
div p b{font-size:100px;}     /* div标签里的p标签里的b标签*/

选择器的优先级与叠加:
    ①  在冲突的情况下(同一种选择器)
         用同一种css属性,例如都是color修饰,采取就近原则,取最下面那个。
h1{color:red;}
h1{color:purple;}
        例如上面这个,最后h1标签是字体是紫色。 
        用不同一种css属性,会将效果叠加在一起
h1{color:red;}
h1{font-size:50px;}
h1{color:red;
font-size:50px}
        这两个效果是一样的
    ②在非冲突的情况下(不同选择器)
        用同一个css属性修饰同一个标签采取一定的优先级
            内部样式中 id选择器 > 类选择器

 
    ps:当声明了多个相同属性的class(相同类型)时,一个标签选择多个class,最后的结果为最后声明的class(与开始标签中的class的顺序无关)
.classred{color:red;}
.classblue{color:blue;}
 先有如上两个内部class
<p class=“classred classblue”>test</p>
<p class=“classblue classred”>test</p>
 这两个效果是一样的,都test都显示为蓝色,因为.classblue{color:blue;}是最后声明的     

    当涉及到后代选择器,有多个css选择同一个类标签时,优先级的考虑复杂了些许,标签使用哪个css可以通过计算权值来决定优先
    在同一个样式表中(同一个style或css文件):
        1.权值相同:就近原则
        2.权值不同:选取权值最高的使用
    选择器的权值:
  • 标签选择器:1
  • 类选择器和伪类:10
  • ID选择器:100
  • 通配符选择器:0
  • 行内样式:1000
    权值计算的规则:不同种选择器数量x权值之和
    例如:
#one div.color h2{…}
        ID:1x100
        标签:2 x1
        类:10
    总权值:100+2+10=112
重要性:
    涉及到优先级有一个特殊的语句,!important,在css中写入后这个最优先。注意!important要写在;分号前
    
p{color:blue !important;}
#one{color:red;} <p>important</p>
因为标签选择器使用了!important,所以这里显示蓝色
p{color:blue !important;}
#one{color:red !important;} <p>important</p>
这时候就显示红色。当大家都有!important时,就按照老方法,无视!important就好了
    CSS优先级总结
  • !important声明最高
  • CSS使用方法的优先级
                    行内样式 > 内部样式 > 外部样式
                        PS:link链入外部样式和style内部样式的优先级,取决于先后顺序
  • 样式表中优先级
                id选择器 > class选择器 > 标签选择器 > 通配符*
     
权值相同
权值不同
就近原则 使用权值高的
 
 

CSS学习笔记3:选择器及优先级的更多相关文章

  1. CSS学习笔记之选择器

    目录 1.元素选择器 2.继承 3.选择器分组 4.声明分组 5.后代选择器 6.子元素选择器 7.相邻兄弟选择器 8.类选择器 9.ID 选择器 10.属性选择器 11.伪类 12.伪元素 1.元素 ...

  2. CSS学习笔记(1):选择器

    一.元素选择器 HTML文档元素就是最基本的选择器 如: <!DOCTYPE html> <html lang="en"> <head> < ...

  3. CSS学习笔记之基本介绍

    1.简介 层叠样式表(Cascading Style Sheets,CSS)允许我们把样式设置存储在文件中,从而将内容与表现分离 当同一个 HTML 元素被不只一个样式定义时,最终的样式确定顺序如下( ...

  4. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  5. 2022-07-10 第五小组 pan小堂 css学习笔记

    css学习笔记 什么是 CSS? CSS 指的是层叠样式表* (Cascading Style Sheets) CSS 描述了如何在屏幕.纸张或其他媒体上显示 HTML 元素 CSS 节省了大量工作. ...

  6. HTML+CSS学习笔记 (7) - CSS样式基本知识

    HTML+CSS学习笔记 (7) - CSS样式基本知识 内联式css样式,直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌 ...

  7. HTML+CSS学习笔记 (6) - 开始学习CSS

    HTML+CSS学习笔记 (6) - 开始学习CSS 认识CSS样式 CSS全称为"层叠样式表 (Cascading Style Sheets)",它主要是用于定义HTML内容在浏 ...

  8. CSS学习笔记08 浮动

    从CSS学习笔记05 display属性一文中,我们知道div是块元素,会独占一行,即使div的宽度很小,像下面这样 应用display属性的inline属性可以让div与div共享一行,除了这种方法 ...

  9. JQuery学习笔记——层级选择器

    JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...

  10. HTML+CSS学习笔记(5)- 与浏览者交互,表单标签

    HTML+CSS学习笔记(5)- 与浏览者交互,表单标签 1.使用表单标签,与用户交互 网站怎样与用户进行交互?答案是使用HTML表单(form).表单是可以把浏览者输入的数据传送到服务器端,这样服务 ...

随机推荐

  1. UGUI实现NGUI的UIEventListener功能

    在unity中处理UI事件时,习惯了使用NGUI的UIEventListener,虽然UGUI也有AddListener,但是一个组件只能对应一个函数,不能在一个函数中同时处理多个事件,显得有些麻烦 ...

  2. 如何手动实现C语言中的字符串操作

    学了字符串操作,很多人也许学了大概知道怎么用,但是太久没用就忘了,恰恰这是找软件工程师或者嵌入式工程师以及C,C++相关的笔试面试必考的题目!接下来我们来看看如何手动实现这些相关的函数. 废话不多说, ...

  3. C/C++预处理指令#define,#ifdef,#ifndef,#endif… (转)

    本文转自博文C/C++预处理指令#define,#ifdef,#ifndef,#endif….这篇博文写得特别好,特转载. 本文主要记录了C/C++预处理指令,常见的预处理指令如下: #空指令,无任何 ...

  4. 【Java编程】随机数的不重复选择

    随机数的不重复选择就是从n个数中随机选取m(m<n)个数.在本文中,我们用Java来实现.因此我们先介绍Java的相关知识. 在Java中,Java.util.Set接口和Java.util.L ...

  5. 俺的新书《Sencha Touch实战》终于出版了

    内容简介:Sencha框架是第一个基于HTML 5的移动也能给予框架,可以让Web应用看起来像网络应用.美丽的用户 界面 组件和丰富的数据管理,全部基于最新的HTML 5和CSS 3的Web标准,全部 ...

  6. LDA

    2 Latent Dirichlet Allocation Introduction LDA是给文本建模的一种方法,它属于生成模型.生成模型是指该模型可以随机生成可观测的数据,LDA可以随机生成一篇由 ...

  7. 基于Bresenham和DDA算法画线段

    直线:y=kx+b 为了将他在显示屏上显示出来,我们需要为相应的点赋值,那么考虑到计算机的乘法执行效率,我们肯定不会选择用Y=kx+b这个表达式求值,然后进行画线段. 我们应当是将它转化为加法运算. ...

  8. SharePoint 2007 单列表模糊查询SPD定制

    应用场景:项目中总会遇到一些列表,存着是用户.项目等数据,而我们需要查询有哪些项目,这时候,就需要用到模糊查询了,而这样的查询,基本不需要跨列表,所以,也没必要配置复杂的搜索,用Designer(简称 ...

  9. LeetCode - 二叉树的最大深度

    自己解法,欢迎拍砖 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例:给定二叉树 [3,9,20,null,nu ...

  10. Nginx + IIS实现负载均衡 Session多站点共享

    日子过得太索然无味了,研究了一下,所谓的负载均衡(主要是windows服务器IIS下的).先看看分析图:环境:linux服务器: centos 6.3windows服务器: windows serve ...