首页 > 其他分享 >css笔记: 继承关系

css笔记: 继承关系

时间:2024-11-22 16:40:10浏览次数:1  
标签:... 继承 元素 笔记 ID CSS 选择器 css 特异性

这两天写css的时候发现子元素继承了父元素的css样式,不显示它自己的。
经过一番搜索,得出以下几个解决方案:

  • 检查选择器优先级
  • 增加样式的特异性
  • 避免不必要的继承
  • 使用!important标记(谨慎使用)
  • 检查CSS规则的顺序
  • 明确样式规则,减少对父元素的依赖
  • 考虑使用CSS变量
  • 理解CSS的层叠规则
  • 重构CSS

显然我忘记优先级这么一回事了。

优先级的用法和例子:

在CSS中,选择器的优先级(也称为特异性)决定了当多个规则应用于同一个元素时,哪个规则会生效。更高级的选择器通常意味着更高的特异性,因此能够覆盖较低特异性的规则。以下是一些定义更高级选择器的方法:

1. 使用ID选择器

ID选择器是特异性最高的选择器之一。在HTML中,ID应该是唯一的,因此ID选择器通常用于选中单个元素。

#myDiv {
  /* ... */
}

在这个例子中,#myDiv是一个ID选择器,它将应用于ID为myDiv的元素。

2. 使用类选择器、属性选择器或伪类选择器

类选择器的特异性低于ID选择器,可以通过组合多个类选择器、属性选择器或伪类选择器来增加特异性。

.class1.class2 {
  /* 1 */
}

[type="text"]:hover {
  /* 2 */
}

上述例子中,.class1.class2选择器将应用于同时拥有class1class2类的元素,[type="text"]:hover选择器将应用于类型为文本且处于悬停状态的元素。

3. 使用元素选择器,并与其他选择器组合

元素选择器(即HTML标签名)的特异性较低,但你可以将它们与其他选择器组合使用来增加特异性。

section div {
  /* ... */
}

在这个例子中,section div选择器将应用于所有位于<section>元素内部的<div>元素。由于它结合了元素选择器,因此其特异性高于单独的<div>元素选择器。

4. 使用伪元素选择器

伪元素选择器(如::before::after::first-line等)也具有一定的特异性,并且可以与其他选择器组合使用。

p::first-line {
  /* ... */
}

p::first-line选择器将应用于所有<p>元素的首行文本。

5. 使用 !important

样式展示(截图自菜鸟教程)
image
一般不轻易使用,会把其他的全覆盖了

总结:

1: #mydiv{...}
2: .class{...}
3: section{...}

优先级: 1 > 2 > 3

标签:...,继承,元素,笔记,ID,CSS,选择器,css,特异性
From: https://www.cnblogs.com/tobias233/p/18563157

相关文章

  • Allegro学习笔记( 四)如何一次性添加GND过孔
    PCB周围添加地孔的好处:一是有效减少PCB边缘上电磁波的辐射和传播,减少PCB对外围设置的信号干扰,提高PCB的抗干扰能力;二是减小PCB板边的翘曲的变形。那么问题就来了,那么多过孔需要手动一个个添加,那得是多么繁琐的工作,还需要保持PCB的美观,那更是难上加难了。小编给大家介绍一种......
  • [学习笔记 #5] 哈希
    目录[学习笔记#5]哈希前言哈希表过渡:用哈希解决判定性问题不知道归到哪里去的技巧集合哈希SumHashingXorHashing序列哈希树哈希数据结构维护哈希值参考[学习笔记#5]哈希下面[]起来的是我还不确定的。前言从今年暑假到现在(2024.11.13),考了多少道哈希,我一道都没场切。前......
  • 【C++】深入理解 C++ 中的继承进阶:多继承、菱形继承及其解决方案
    个人主页:起名字真南的CSDN博客个人专栏:【数据结构初阶】......
  • C高级学习笔记
    ……接上文shell中的语句功能性语句testtest语句可以测试三种对象:字符串整数文件属性每种测试对象都有若干测试操作符3.1.字符串测试s1=s2测试两个字符串的内容是否完全一样test"hello"="world"echo$?#1相等为真,不想等为假s1!=s2......
  • .Net-Avalonia学习笔记(十)-Material.Avalonia
     Add Material.Avalonia nugetpackagetoyourproject:dotnetaddpackageMaterial.AvaloniaEdit App.xaml file:<Application...xmlns:themes="clr-namespace:Material.Styles.Themes;assembly=Material.Styles"...><Application......
  • [笔记]PN结二极管(1)
    文章目录PN结二极管(1)1、PN结二极管基本结构与工艺PN结2、PN结耗尽区理论PN结内建电势PN结偏置势垒(耗尽层)电容单边突变结线性缓变结PN结二极管(1)1、PN结二极管基本结构与工艺PN结PN结:p型半导体与n半导体紧密接触形成的冶金结。......
  • Maven笔记
     什么是MavenMaven的概念Maven是自动化构建工具。Maven是Apache软件基金会组织维护的一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。Maven这个单词的本意是:专家,内行。Maven是目前最流行的自动化构建工具,对于生产环境下多框架、多模块整合开发有重要作......
  • 实验四 类的组合、继承、模板类、标准库
    实验任务1:task1-1.cpp和task1-2.cpp以及task1-3.cpp的源码,运行测试结果如下#include<iostream>usingstd::cout;usingstd::endl;//类A的定义classA{public:A(intx0,inty0);voiddisplay()const;private:intx,y;};A::A(intx0,inty0):......
  • 你知道全屏滚动的原理是什么吗?它用到了CSS的哪些属性?
    全屏滚动(FullPageScroll)的原理是让浏览器视口(viewport)的高度与每个“页面”或“屏幕”的高度相等,然后通过JavaScript或CSS控制滚动,每次滚动一个视口的高度,从而实现类似幻灯片的效果。它主要用到了以下CSS属性和技术:height:100vh或height:100%:这是核心所在。100vh表......
  • 列举CSS优化、提高性能的方法
    CSS优化可以显著提高前端性能,减少页面加载时间,提升用户体验。以下是一些常用的CSS优化方法:1.减少HTTP请求:合并CSS文件:将多个CSS文件合并成一个,减少浏览器请求次数。可以使用构建工具例如Webpack、Gulp等自动化完成。使用CSSSprites:将多个小图标或背景图片合并成一张大......