小和尚学习-CSS选择器
希望的灯一旦熄灭,生活刹那间变成了一片黑暗。——普列姆昌德
目录
- 基础选择器
- 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 B,
elementC 来定位多个元素
<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选择器相关推荐
- css设置 ul的内外边距,9月3日学习CSS选择器,背景设置,及内外边距知识总结
实例 html> 选择器 p:nth-of-type(2) { background-color: crimson; } 猪哥 朱老师 西门大官人 欧阳克 潘金莲 运行实例 » 点击 " ...
- Python学习,还在用正则或者bs4做爬虫吗?来试试css选择器吧
之前写的一些爬虫都是用的正则.bs4.xpath做为解析库来实现,如果你对web有所涉及,并且比较喜欢css选择器,那么就有一个更适合的解析库-- PyQuery.我们就用一个非常简单的小例子来看看c ...
- css a标签去掉下划线_这30个CSS选择器,你必须熟记(上)
CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色.布局.制作出漂亮的阴影效果等等,我们只需要改几行代码,不需要借助任何软件,就能轻而易举的实现,感觉就像魔法师一般, ...
- css 查看更多_在Scrapy中如何利用CSS选择器从网页中采集目标数据——详细教程(上篇)...
/前言/ 今天小编给大家介绍Scrapy中另外一种选择器,即大家经常听说的CSS选择器. /CSS基础/ CSS选择器和Xpath选择器的功能是一致的,都是帮助我们去定位网页结构中的某一个具体的元素, ...
- 地图选择器怎么用_简易数据分析 15 | Web Scraper 高级用法——CSS 选择器的使用....
[ 这是简易数据分析系列的第 15 篇文章 ] 年末事情比较忙,很久不更新了,后台一直有读者催更,我看了一些读者给我的私信,发现一些通用的问题,所以单独写篇文章,介绍一些 Web Scraper 的进 ...
- 这30个CSS选择器,你必须熟记(上)
关注前端达人,与你共同进步 CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色.布局.制作出漂亮的影音效果等等,我们只需要改几行代码,不需要借助任何软件,就能轻而易举 ...
- 学习《CSS选择器Level-4》不完全版
1 概述 1.1 前言 选择器是CSS的核心组件.本文依据W3C的Selectors Level 4规范,概括总结了Level1-Level4中绝大多数的选择器,并做了简单的语法说明及示例演示.希望对 ...
- HTML/CSS学习笔记03【CSS概述、CSS选择器、CSS属性、CSS案例-注册页面】
w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...
- 前端--CSS选择器,盒子模型学习
文章目录 一.CSS 1.概述 2.入门案例 二.CSS选择器 1.概述 1)标签名选择器:根据属性条件选中网页中的所有元素 2)class选择器:根据class属性的选中元素(添加class属性,通 ...
最新文章
- Android EditView 第一次点击默认不输入
- zend opcache的最佳设置
- 从进程说起:容器到底是怎么一回事儿?
- java计算器布局设计_Java图形化界面设计——布局管理器之GridLayout(网格布局) 之计算器...
- Delphi编程禁止用户关闭操作系统
- 好用的营销系统都是这个架构
- excel重复上一步快捷键_13个excel快捷键,让你的1秒钟,抵得上同事的5分钟
- 5.3使用自定议的测试数据库文件
- 英特尔发布全新英特尔® INDE 2015工具套件
- Tizen已经够烂了 但份额还是超过了黑莓
- 图卷积网络详细介绍(二)
- [译] 在浏览器里使用 TenserFlow.js 实时估计人体姿态
- MDK5软件入门之——基础工程创建及下载和调试
- 全国省市json文件,省市区json文件
- i7-1160G7 怎么样 相当于什么水平
- 华硕主板前置音频设置
- WebScoket 实例 简单的网页聊天室
- 我自己常用的几个JS深浅拷贝的方法
- html 实现3d效果代码,CSS3 3D环境实现立体 魔方效果代码
- 微信公众号html在线编辑器,【微信公众平台工具开发】雷人微信网页编辑器