CSS3+Html5 学习笔记之css 样式加载顺序

2023-11-01

有时候在写CSS的过程中,某些限制总是不起作用,这就涉及了CSS样式覆盖的问题,如下:

#navigator {  
    height: 100%;  
    width: 200;  
    position: absolute;  
    left: 0;  
    border: solid 2 #EEE;  
}  
  
.current_block {  
    border: solid 2 #AE0;  
}  

查找一些教材中(w3schools等),只说css的顺序是“元素上的style” > “文件头上的style元素” >“外部样式文件”,但对于样式文件中的多个相同样式的优先级怎样排列,没有详细说明。经过测试和继续搜索,得知优先级如下排列:

 

1. 样式表的元素选择器选择越精确,则其中的样式优先级越高:

id选择器指定的样式 > 类选择器指定的样式 > 元素类型选择器指定的样式

所以上例中,#navigator的样式优先级大于.current_block的优先级,及时.current_block是最新添加的,也不起作用。

 

2. 对于相同类型选择器制定的样式,在样式表文件中,越靠后的优先级越高

注意,这里是样式表文件中越靠后的优先级越高,而不是在元素class出现的顺序。比如.class2 在样式表中出现在.class1之后:

.class1 {  
    color: black;  
}  
  
.class2 {  
    color: red;  
} 

而某个元素指定class时采用 class="class2 class1"这种方式指定,此时虽然class1在元素中指定时排在class2的后面,但因为在样式表文件中class1处于class2前面,此时仍然是class2的优先级更高,color的属性为red,而非black。

 

3. 如果要让某个样式的优先级变高,可以使用!important来指定:

.class1 {  
    color: black !important;  
}  
  
.class2 {  
    color: red;  
}  

 此时class将使用black,而非red。

 

对于一开始遇到的问题,有两种解决方案:

1. 将border从#navigator中拿出来,放到一个class .block中,而.block放到.current_block之前:

#navigator {  
    height: 100%;  
    width: 200;  
    position: absolute;  
    left: 0;  
}  
  
.block {  
    border: solid 2 #EEE;  
}  
  
.current_block {  
    border: solid 2 #AE0;  
}  
需要默认为#navigator元素指定class="block"
2. 使用!important:
#navigator {  
    height: 100%;  
    width: 200;  
    position: absolute;  
    left: 0;  
    border: solid 2 #EEE;  
}  
  
.current_block {  
    border: solid 2 #AE0 !important;  
}  

 此时无需作任何其他改动即可生效。可见第二种方案更简单一些。  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS3+Html5 学习笔记之css 样式加载顺序 的相关文章

  • python-flask-sqlalchemy

    1 flask sqlalchemy 集成的两种方式 1 通过flask app初始化 from flask sqlalchemy import SQLAlchemy flask db SQLAlchemy from flask impor
  • 安装nltk_data数据包的问题:[Errno 11004] getaddrinfo failed

    问题 安装nltk时 在python shell中输 import nltk nltk download 会出现以下问题 这是因为nltk download 下载连接不上 在C Windows System32 drivers etc中找到
  • 图解fork函数机制(简单易懂)

    fork函数机制十分难以理解 尤其涉及到循环fork时就更难搞清楚 例如 for i 0 i lt 3 i pid fork if pid gt 0 std cout lt lt pid lt
  • 经常访问的站点

    色色日语网 www qianxunjp com 日本软件 www flatworld jp
  • MySQL执行计划解读

    Explain语法 EXPLAIN SELECT 变体 1 EXPLAIN EXTENDED SELECT 将执行计划 反编译 成SELECT语句 运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2 EXPLAIN
  • 首看世界杯

    首看世界杯 不谈技术 只聊自己的几点感受 纯属个人感想 今年是第一次关注世界杯 本来对足球是没有什么兴趣的 如果说对足球有什么了解的话 大部分还是来自小时候的动画片 足球小将 但是看现实中的足球比赛 半天进一个球 甚至一个球都不会进 感觉没
  • 【技术碎片】jcraft.jsch 文件传输工具与方法

    目录 前言 依赖 ChannelSftp功能 实现 JschUtil java ImageInfoService java ImageInfoServiceImpl java 参考资料 前言 SFTP相当于SSH FTP 其中FTP则协议通
  • 2023第一个重大漏洞,几乎影响所有组织

    Dark Reading 网站披露 微软修复了 Outlook 中存在的零日漏洞 漏洞被追踪为 CVE 2023 23397 是一个权限提升漏洞 攻击者可以利用该漏洞访问受害者的 Net NTLMv2 响应身份验证哈希并冒充用户 安全研究人
  • 集训一月小结

    暑假集训过了4个周了 仔细想想这4个周我都做了些什么 学到了什么 又有什么让我感到开心 有什么令我绝望 不管是谁都必须承认在板凳上每天坐上9个小时以上 学习那些算法 有时候会让我感到兴奋 有时候又会让我不愿意在电脑前坐一分钟 想想过程 究其
  • 中国智能卡车“遥遥领先”:卡车NOA落地5000万公里0事故,全球首个

    贾浩楠 发自 副驾寺智能车参考 公众号 AI4Auto 成熟的 擎天柱 已经可以自己出去赚钱了 此时此刻 遍及华东 华北 华南 西北 几乎全国所有主要货运干线上 都有智能重卡承运商单 高速路段由卡车智能驾驶系统完全承担驾驶任务 自主控制油门
  • chinesecalendar报错:no available data for year 2022, only year between [2004, 2021] supported

    Error no available data for year 2022 only year between 2004 2021 supported 解决 更新最新chinesecalendar 每年年底需更新最新版本的chineseca
  • BGP route processing

    路由协议 套用IT里面的术语 实际上就是分布式数据库系统 它包含了节点间的数据传递和节点内的数据处理 对于BGP来说 节点间基于TCP 端口179 的连接 在这个基础上 可以构建AS间的EBGP AS内的IBGP IBGP有full mes
  • python中的os.walk函数的用法

    转自http blog csdn net bagboy taobao com article details 8938126 os walk top topdown True nerr r None followlinks False 可以
  • Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )

    自己建立一个工程 调用libcaffe lib 成功编译 但是运行就会遇到报错 F0519 14 54 12 494139 14504 layer factory hpp 77 Check failed registry count t y
  • Random类和UUID以及验证码的生成

    一 介绍与测试 Random 产生随机数 UUID 通用唯一识别码 目的是让分布式系统中的所有元素 都能有唯一的辨识信息 根据当前时间和电脑网卡 生成一段字符 Radom类 import java util public class Ran
  • 你为成为一名DBA,做好准备了吗?

    之前的文章中 我提到了 如何找到第一份DBA工作 云时代的来临 DBA该何去何从 关于从事数据库工作 需要哪些经验 那么 如果你想成为一名DBA 你为此做好准备了吗 我曾问过的一个问题是一个人应该从事DBA这样的职业么 这个问题并不容易回答

随机推荐