CSS选择器【记录】
1、基本选择器
2、组合选择器
3、伪类选择器
4、伪元素选择器
CSS选择器规定了CSS规则会应用到哪些元素上
1、基本选择器
基本选择器:通配选择器、元素选择器、类选择器、ID选择器、属性选择器
/* 通配选择器、性能最低的一个CSS选择器 */ *{}
/* 元素选择器 */ element{}
/* 类选择器 */ .class{}
/* ID选择器 */ id{}
/* 属性选择器 */ element[attribute]{}
element[attribute="value"]{} /* 属性值为value */
element[attribute~="value"]{} /* 属性值有多个,其中一个值为value */
element[attribute|="value"]{} /* 属性值为value或是以value-开头 */
/* 属性值以value开头 */ element[attribute^="value"]{} /* IE7+ */
/* 属性值以value结尾 */ element[attribute$="value"]{} /* IE7+ */
/* 属性值包含value */ element[attribute*="value"]{} /* IE7+ */
2、组合选择器
组合选择器:后代选择器、子选择器、相邻兄弟选择器、兄弟选择器
/* 后代选择器 */ element element{}
/* 子选择器 */ element > element{}
/* 相邻兄弟选择器 */ element + element{}
/* 兄弟选择器 */ element ~ element{} /* IE7+ */
3、伪类选择器
伪类允许基于未包含在文档树中的状态信息来选择元素
/* 未访问 */ element:link{}
/* 已访问 */ element:visited{} /* 出于隐私原因,可以使用此选择器修改的样式非常有限,允许使用的CSS属性为color、background-color、border-color、outline-color */
/* 悬停 */ element:hover{}
/* 点击 */ element:active{}
/* 输入焦点 */ element:focus{}
/* 基于元素语言来匹配页面元素 */ element:lang(f){}
/* 匹配不符合参数选择器描述的元素 */ element:not(s){} /* IE9+ */
/* 匹配文档树的根元素 */ element:root{} /* IE9+ */
element:first-child{}
element:last-child{} /* IE9+ */
element:only-child{} /* IE9+ */
element:nth-child(n){} /* IE9+ */
element:nth-last-child(n){} /* IE9+ */
element:first-of-type{} /* IE9+ */
element:last-of-type{} /* IE9+ */
element:only-of-type{} /* IE9+ */
element:nth-of-type(n){} /* IE9+ */
element:nth-last-of-type(n){} /* IE9+ */
/* 空元素 */ element:empty{} /* IE9+ */
/* 选中状态 */ element:checked{} /* IE9+ */
/* 可用状态 */ element:enabled{} /* IE9+ */
/* 禁用状态 */ element:disabled{} /* IE9+ */
/* 锚点指向的元素为目标元素,:target伪类用于选取当前激活的目标元素 */ element:target{} /* IE9+ */
<style>
#demo:target{ color:#f00; }
</style> <a href="#demo">#demo</a>
<div id="demo">:target伪类使用方法</div> <a href="https://madmurphy.github.io/takefive.css/">一个基于:target伪类的更为完善的纯-CSS加亮框</a>
4、伪元素选择器
伪元素表示所有未被包含在HTML的实体
CSS3将伪元素选择器前面的单冒号(:)改为双冒号(::)用以区分伪类选择器,但以前的写法仍然有效
/* 用于块级元素第一行的第一个字符 */ element:first-letter{}
/* 用于块级元素第一行的第一个字符 */ element::first-letter{} /* IE9+ */
/* 用于块级元素第一行 */element:first-line{}
/* 用于块级元素第一行 */element::first-line{} /* IE9+ */
element:before{}
element::before{} /* IE9+ */
element:after{}
element::after{} /* IE9+ */
element::-moz-selection{}
element::selection{} /* IE9+ */
/* 用于文档中被用户高亮的部分,只有一小部分CSS属性可以用于::selection选择器:background-color、color、text-decoration、text-shadow、outline、cursor */
element::-webkit-input-placeholder{}
element::-moz-placeholder{}
element:-ms-input-placeholder{} /* IE10+ */
element::placeholder{}
CSS选择器【记录】的更多相关文章
- CSS选择器的一些记录
选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 id="firstna ...
- 【CSS选择器】理解汇总和记录
1.选择器中符号含义汇总(这部分包含了对选择器的通用理解): 1.1.多元素组合符号:(共6个,一个是CSS3的)(适用所有元素:ID组合,类组合,属性组合,标签组合,伪类组合,以及以上所有混合组合) ...
- [css选择器]总结:IE6不支持的CSS选择符
转载地址:https://www.wenjiwu.com/doc/zvsbii.html.此文最后也给出了原文地址,但是我点击过去发现是什么赌博彩票的地址,360也弹出小心的提示,所以这里只给出了我转 ...
- CSS选择器 + Xpath + 正则表达式整理(有空再整理)
选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 id="firstna ...
- 牢记 31 种 CSS 选择器用法
原文 The 30 CSS Selectors you Must Memorize 由 Jeffrey Way 发表于 2011 年 6 月,介绍了 30 种最常用的 CSS 选择器用法,多加了一种, ...
- 一个容易被忽视的css选择器
之前学的的迷糊了,也不知道什么会什么不会了,跑去面试了.别人列出一堆css选择器,本以为选择器没啥的,结果到那个多类选择器翻车了,.a.b选择同时含a,b类名的,很尴尬所以回来仔细整理了一下.目前根据 ...
- HTML与CSS学习记录
title: HTML与CSS学习记录 toc: true date: 2018-09-10 14:04:59 <HTML与CSS进阶教程读书笔记> HTML基础知识 HTML与XHTML ...
- 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧
记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...
- css选择器
常用css选择器,希望对大家有所帮助,不喜勿喷. 1.*:通用选择器 * { margin: 0; padding: 0; } 选择页面上的全部元素,通常用于清除浏览器默认样式,不推荐使用. 2.#i ...
随机推荐
- 微信小程序实现显示和隐藏控件-头像-取值-bindblur事件
微信小程序实现显示和隐藏控件 .wxml: <view class=" {{showOrHidden?'show':'hidden'}}"></view> ...
- Python之父:为什么操作符很有用?
这是我在python-ideas上发布的一些东西,但我认为这些很有趣,应该分享给更多的人. 最近有很多关于合并两个dict(词典)的运算符的讨论. 这促使我思考为什么有些人喜欢运算符,我想起了30多年 ...
- redux源码学习笔记 - createStore
本篇是学习redux源码的一些记录,学习的redux版本是^4.0.1. 在页面开发时,需要管理很多状态(state),比如服务器响应,缓存数据,UI状态等等···当页面的庞大时,状态就会变的混乱.r ...
- HttpContextAccessor不会出现线程同步问题?
我有一段比较常规的.net core mvc代码,就是StartUp函数中注册HttpContextAccessor到系统DI工厂中,如图: 然后调用方是service层,这个service层是使用a ...
- 【EF6学习笔记】(十)处理并发
本篇原文链接:Handling Concurrency Concurrency Conflicts 并发冲突 发生并发冲突很简单,一个用户点开一条数据进行编辑,另外一个用户同时也点开这条数据进行编辑, ...
- iOS逆向开发(5):微信强制升级的突破 | 多开 | 微信5.0
接下来的几篇文章,小程以微信为例,实战地演示一下:如何注入iOS的APP.其中使用到的知识,基本在前面的文章中都有介绍到. 小白:小程,我想用回旧版本的微信! 小程:为什么要用旧版本微信呢? 小白:你 ...
- MySQL社区版升级到Percona Server
出于磁盘空间的考虑,在调研以后把磁盘空间紧张的库的引擎改为tokudb,(在改为tokudb引擎之前是innodb引擎,已经压缩过,但空间还是紧张)关于tokudb的优势各位自行查阅相关资料.要启用t ...
- MFC控件编程进度条编写
MFC控件编程进度条编写 一丶进度条编程需要用到的方法 进度条MFC已经帮我们封装好类了. 叫做 CProgressCtrl 进度条编程也很简单. 封装的方法也就那个那几个. GetPos() 获 ...
- Spring Boot (五)Spring Data JPA 操作 MySQL 8
一.Spring Data JPA 介绍 JPA(Java Persistence API)Java持久化API,是 Java 持久化的标准规范,Hibernate是持久化规范的技术实现,而Sprin ...
- MySQL系列详解四:MySQL事务-技术流ken
MySQL 事务 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数 ...