深探CSS选择器🚄

简介: 深探CSS选择器🚄

选择器

  • 简单选择器
  1. ID选择器:id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式
#text{
    text-align:center;
    color:red;
}
复制代码
  1. Class选择器:class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。
.center {
    text-align:center;
}
复制代码
  1. 元素选择器:根据元素名称来选择 HTML 元素
h1 {
    text-align:center;
}
复制代码
  • 组合器选择器
  1. 后代选择器:选择后代中某个元素
div p{
    color:red;
}
复制代码
  1. 子选择器:选择后代所有的某个元素
div > p {
    background-color: yellow;
}
复制代码
  1. 相邻兄弟选择器:选择相邻之后的所有元素
div + p {
    background-color: yellow;
}
复制代码
  1. 通用兄弟选择器:选择所有同级的某元素
div ~ p {
    background-color: yellow;
}
复制代码
  • 伪类选择器
  1. 伪类:通常向选择器加入一些特殊的效果
伪类 作用
:first-child 为元素第一个子元素添加样式
:visited 访问过后的链接添加样式
:hover 鼠标浮在元素上方,向元素添加样式
:focus 当键盘输入焦点的元素添加样式
:link 为未访问过的链接添加样式
  1. 锚伪类
/* 未访问的链接 */
a:link {
    color: #FF0000;
}
/* 已访问的链接 */
a:visited {
    color: #00FF00;
}
/* 鼠标悬停链接 */
a:hover {
    color: #FF00FF;
}
/* 已选择的链接 */
a:active {
    color: #0000FF;
}
复制代码
  1. 伪元素
伪元素 作用
::first-letter 文本首字母
::first-line 文本首行
::before 元素之前插入某些内容
::after 元素之后插入某些内容
::selection 匹配突出显示文本
  • 属性选择器
  1. [attribute] 选择器:选择带有某属性值的元素
a[href] {
    background-color: yellow;
}
复制代码
  1. [attribute="value"] 选择器:选择某属性值为某值得元素
img[alt="qlstudio"] { 
    background-color: yellow;
}
复制代码
  1. [attribute|="value"] 选择器:选取某属性值为value开头的元素(value-top)
[class|="top"] {
    background: yellow;
}
复制代码
  1. [attribute^="value"] 选择器:选取某属性值为value开头的元素(valuetop)
  2. [attribute$="value"] 选择器:选取某属性值为value结尾的元素(botvalue)
  3. [attribute*="value"] 选择器:选取某属性值含有value的元素
  • 其他
  1. 通用选择器:全部元素
* {
    padding: 0;
}
复制代码
  1. 组合选择器:当某几个元素样式相同
h1,p,h2 {
    color:red;
}
复制代码

选择器权重

加载顺序

之前我们讲了选择器的引入方式以及选择器的类别大家有没有想过若我们给一个元素用不同的引入设置相同属性不同属性值的样式会发生什么呢 举个列子

p{
    color:green;
}
link
复制代码
link
p{
    color:green;
}
复制代码

我们这里改变了两者的顺序,那么我们将会看到顺序最后引入的样式,后面的样式覆盖前面的样式

权重计算

大家都了解二进制吧 0010>0001

形式
内嵌 1 0 0 0
ID 0 1 0 0
class 0 0 1 0
元素 0 0 0 1
* 0
!import 权利无上
div span {
    /* 0,0,0,2 */
}
p #span_one{
    /* 0,1,0,1 */
}
复制代码

浏览器会执行权重最大的样式

注意:组合选择器由相加计算得到且选择器权重不会满十进一 0,1,0,0>0,0,28,0

层叠与继承

层叠

如果优先级相等,对于同一元素,后面的css样式会覆盖前面的css样式

继承

子元素会继承父元素的一些特定的属性值

  • 常用默认继承:
  1. 字体系列:font-family,font-size;
  2. 文本系列:text-indext.line-height,color;
  3. 元素可见性:visbility;
  • 常用默认不继承:
  1. 高度与宽度:height,width;
  2. display
  3. 文本阴影:text-shadow
  4. 背景属性:background
  5. 浮动属性:float
  6. 定位属性:position,left,top;



相关文章
|
2月前
|
前端开发
CSS:高级选择器
CSS:高级选择器
42 1
|
2月前
|
前端开发 JavaScript
CSS:基础选择器
CSS:基础选择器
49 1
|
25天前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
33 2
|
2月前
|
前端开发 JavaScript 容器
谁动了我的选择器?深入理解CSS选择器优先级
该文章详细解释了CSS选择器的工作原理,包括不同种类选择器的权重计算规则,并通过实例说明了如何解决样式冲突问题,确保所需的样式能够正确应用到目标元素上。
|
2月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
88 1
|
1月前
|
前端开发
CSS常见的选择器
CSS常见的选择器
18 0
|
2月前
|
前端开发 JavaScript
【CSS】选择器
【CSS】选择器
|
3月前
|
前端开发
CSS3选择器
【8月更文挑战第23天】CSS3选择器。
32 1
|
3月前
|
前端开发
CSS中的层级选择器&伪类选择器和伪元素选择器
CSS中的层级选择器&伪类选择器和伪元素选择器
|
3月前
|
前端开发 数据安全/隐私保护
探秘CSS类型选择器:解码前端设计的神秘密码!
探秘CSS类型选择器:解码前端设计的神秘密码!
探秘CSS类型选择器:解码前端设计的神秘密码!