希望的灯一旦熄灭,生活刹那间变成了一片黑暗。——普列姆昌德

目录

  • 基础选择器
    • ID选择器
    • 元素选择器
    • 类选择器
    • 属性选择器
    • 伪类选择器
    • 伪元素选择器
  • 组合选择器
    • 后代选择器
    • 子代选择器
    • 相邻兄弟选择器
    • 兄弟选择器
    • 并列选择器
  • CSS层叠
    • 解决过程
      • 一. 比较重要性
      • 二. 比价特殊性
      • 三. 比较源次序

在网页开发中我们经常需要对页面中的元素进行操作(比如:给字体加色、来个鼠标悬浮特效等)这时候我们就需要通过选择器来精确定位到指定元素给其添加对应的样式,本章内容主要介绍下常见选择器

基础选择器

ID选择器

通过#id值定位元素,全局中的id值是唯一的

<div id="demo">id选择器<div>
/* id为demo的元素,字体颜色设置为红色 */
#demo {color: red;
}

元素选择器

通过元素类型名称定位元素

<p>元素选择器</p>
<p>元素选择器</p>
<p>元素选择器</p>
/* p元素,字体颜色设置为红色 */
p {color: red;
}

类选择器

通过.class值定位元素,可以设置多个

<div class="demo">类选择器</demo>
<div class="demo">类选择器</demo>
<div class="demo">类选择器</demo>
/* 类名为demo的元素,字体颜色设置为红色 */
.demo {color: red;
}

属性选择器

通过[属性名=属性值]来定位元素

属性 说明
[attr] 选中带有attr属性的元素
[attr=value] 选中带有attr属性,且属性值为value的元素
[attr^=value] 选中带有attr属性,且属性值为以value开头的元素
[attr$=value] 选中带有attr属性,且属性值为以value结尾的元素
[attr*=value] 选中带有attr属性,且属性值为包含value的元素
[attr~=value] 选中带有attr属性,且属性值为包含value的元素(value左右必须用空格隔开)
[attr|=value] 选中带有attr属性,且属性值为为value或value-开头的元素
<a href="">百度1</a>
<a href="https://www.baidu.com">百度2</a>
<a href="www.baidu.com">百度3</a>
<a href="www.baidu.cn">百度4</a>
<a href="www.sina.com.cn">新浪1</a>
<a href="www. sina .com.cn">新浪2</a>
<a href="sina-www..com.cn">新浪3</a>
/* 带有href属性的元素,字体颜色设置为红色 */
[href] {color: red;
}
/* 带有href属性,且属性值为https://www.baidu.com元素,字体颜色设置为绿色 */
[href="https://www.baidu.com"] {color: green;
}
/* 带有href属性,且属性值以www开头的元素,字体颜色设置为粉色 */
[href^="www"] {color: pink;
}
/* 带有href属性,且属性值以.cn结尾的元素,字体颜色设置为紫色 */
[href$=".cn"] {color: purple;
}
/* 带有href属性,且属性值包含sina的元素,字体颜色设置为棕色 */
[href*="sina"] {color: brown;
}
/* 带有href属性,且属性值包含sina的元素(必须以单独一个词显示),字体颜色设置为天蓝色 */
[href~="sina"] {color: skyblue;
}
/* 带有href属性,且属性值以sina-开头的元素,字体颜色设置为橙色 */
[href|="sina"] {color: orange;
}

伪类选择器

通常表示元素的某种状态

<p>鼠标悬浮状态</p>
/* 鼠标悬浮状态下的p元素,字体颜色设置为红色 */
p:hover {color: red;
}

伪元素选择器

伪元素:元素末额外添加的元素,伪元素选择器就是用于获取到这个额外元素

<p><span>JavaScript权威指南</span>是每一个前端开发人员必读书本</p>
/* 选择after,before两个伪元素,将其内容设置为书名号,同时设置伪元素字体颜色为红色 */
span:before {content: "《";color: red;
}
span:after {content: "》";color: red;
}

组合选择器

由两个或两个以上选择器所组成的选择器

后代元素:父元素下所有的元素,都是后代元素

子元素:最接近父元素的后代元素

后代选择器

通过 element A 空格 element B 定位到A元素的后代元素B

<!-- 以最外层div为父元素 -->
<div><p>儿子</p> <!-- 1 --> 后代元素、子元素<main> <!-- 1 --> 后代元素、子元素<p>孙子</p> <!-- 2 --> 后代元素<section> <!-- 2 --> 后代元素<p>重孙</p> <!-- 3 --> 后代元素</section></main>
</div>
、/* 选中div元素下所有的p元素,字体颜色设置为红色 */
div p {color: red;
}

子代选择器

通过 element A > element B 来定位A元素的子代元素B

<div><p>儿子</p> <!-- 1 --><main> <!-- 1 --><p>孙子</p> <!-- 2 --><section> <!-- 2 --><p>重孙</p> <!-- 3 --></section></main>
</div>
、/* 选中div元素下子元素p元素(子元素:标记1的元素),字体颜色设置为红色 */
div > p {color: red
}

相邻兄弟选择器

通过 element A + element B 定位A元素的下一个兄弟元素B

<div>当前元素</div>
<p>第一个兄弟元素</p>
<p>第二个兄弟元素</p>
<p>第三个兄弟元素</p>
/* 选中div元素的下一个兄弟元素,并且是p元素,字体颜色设置为红色 */
div + p {color: red;
}

兄弟选择器

通过 element A ~ element B 定位A元素后面的所有兄弟元素B

<p>上一个兄弟元素</p>
<div>当前元素</div>
<p>第一个兄弟元素</p>
<p>第二个兄弟元素</p>
<p>第三个兄弟元素</p>
/* 选中div元素后面所有的p元素,字体颜色设置为红色 */
div ~ p {color: red;
}

并列选择器

通过element A element BelementC 来定位多个元素

<p>A</p>
<div>B</div>
<span>C</span>
/* 选中p、div、span元素,将字体颜色设置为红色 */
p, div, span {color: red;
}

CSS层叠

声明冲突:同一样式,多次作用与同一样式

层叠(权重计算):解决声明冲突的过程(浏览器自动处理)

解决过程

只有上一级比较无法确定时,才会去下一级比较

一. 比较重要性

重要性从高到低依次递减

作者样式表:开发者写的样式代码

1)作者样式表中的!important样式
2)作者样式表中的普通样式
3)浏览器的默认样式

二. 比价特殊性

主要针对选择器

总体规则:选择器的范围约窄,越特殊

具体规则:通过选择器,计算一个4位数权重值(xxxx)

1)千位:如果内联样式记1;否则记0
2)百位:等于选择器中ID选择器的数量
3)十位:等于选择器中类选择器伪类选择器属性选择器的数量
4)个位:等于选择器中伪元素选择器元素选择器的数量

三. 比较源次序

后面的代码覆盖前面的代码

小和尚学习-CSS选择器相关推荐

  1. css设置 ul的内外边距,9月3日学习CSS选择器,背景设置,及内外边距知识总结

    实例 html> 选择器 p:nth-of-type(2) { background-color: crimson; } 猪哥 朱老师 西门大官人 欧阳克 潘金莲 运行实例 » 点击 " ...

  2. Python学习,还在用正则或者bs4做爬虫吗?来试试css选择器吧

    之前写的一些爬虫都是用的正则.bs4.xpath做为解析库来实现,如果你对web有所涉及,并且比较喜欢css选择器,那么就有一个更适合的解析库-- PyQuery.我们就用一个非常简单的小例子来看看c ...

  3. css a标签去掉下划线_这30个CSS选择器,你必须熟记(上)

    CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色.布局.制作出漂亮的阴影效果等等,我们只需要改几行代码,不需要借助任何软件,就能轻而易举的实现,感觉就像魔法师一般, ...

  4. css 查看更多_在Scrapy中如何利用CSS选择器从网页中采集目标数据——详细教程(上篇)...

    /前言/ 今天小编给大家介绍Scrapy中另外一种选择器,即大家经常听说的CSS选择器. /CSS基础/ CSS选择器和Xpath选择器的功能是一致的,都是帮助我们去定位网页结构中的某一个具体的元素, ...

  5. 地图选择器怎么用_简易数据分析 15 | Web Scraper 高级用法——CSS 选择器的使用....

    [ 这是简易数据分析系列的第 15 篇文章 ] 年末事情比较忙,很久不更新了,后台一直有读者催更,我看了一些读者给我的私信,发现一些通用的问题,所以单独写篇文章,介绍一些 Web Scraper 的进 ...

  6. 这30个CSS选择器,你必须熟记(上)

    关注前端达人,与你共同进步 CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色.布局.制作出漂亮的影音效果等等,我们只需要改几行代码,不需要借助任何软件,就能轻而易举 ...

  7. 学习《CSS选择器Level-4》不完全版

    1 概述 1.1 前言 选择器是CSS的核心组件.本文依据W3C的Selectors Level 4规范,概括总结了Level1-Level4中绝大多数的选择器,并做了简单的语法说明及示例演示.希望对 ...

  8. HTML/CSS学习笔记03【CSS概述、CSS选择器、CSS属性、CSS案例-注册页面】

    w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...

  9. 前端--CSS选择器,盒子模型学习

    文章目录 一.CSS 1.概述 2.入门案例 二.CSS选择器 1.概述 1)标签名选择器:根据属性条件选中网页中的所有元素 2)class选择器:根据class属性的选中元素(添加class属性,通 ...

最新文章

  1. Android EditView 第一次点击默认不输入
  2. zend opcache的最佳设置
  3. 从进程说起:容器到底是怎么一回事儿?
  4. java计算器布局设计_Java图形化界面设计——布局管理器之GridLayout(网格布局) 之计算器...
  5. Delphi编程禁止用户关闭操作系统
  6. 好用的营销系统都是这个架构
  7. excel重复上一步快捷键_13个excel快捷键,让你的1秒钟,抵得上同事的5分钟
  8. 5.3使用自定议的测试数据库文件
  9. 英特尔发布全新英特尔® INDE 2015工具套件
  10. Tizen已经够烂了 但份额还是超过了黑莓
  11. 图卷积网络详细介绍(二)
  12. [译] 在浏览器里使用 TenserFlow.js 实时估计人体姿态
  13. MDK5软件入门之——基础工程创建及下载和调试
  14. 全国省市json文件,省市区json文件
  15. i7-1160G7 怎么样 相当于什么水平
  16. 华硕主板前置音频设置
  17. WebScoket 实例 简单的网页聊天室
  18. 我自己常用的几个JS深浅拷贝的方法
  19. html 实现3d效果代码,CSS3 3D环境实现立体 魔方效果代码
  20. 微信公众号html在线编辑器,【微信公众平台工具开发】雷人微信网页编辑器

热门文章

  1. AIFF-C压缩格式容器规范解析
  2. python表白,用Love组成一朵玫瑰花
  3. 信息系统项目管理师--人力资源管理论文(结合疫情2020)
  4. 数据库主从复制,读写分离,分库分表理解 (数据库架构演变)
  5. 【C语言】从入门到入土(入门篇)
  6. 支持恢复Word文档数据的数据恢复软件有哪些
  7. BootStrap和LayUI
  8. jpa在批量添加的时候,存储慢如何解决问题
  9. 考研数学二(来源于1800和张宇总结)
  10. js 点击 跳转到指定链接