css 优先级_html/css_WEB-ITnose
css优先级
很早以前就知道对同一个元素设置样式时应用样式的优先级是
内联样式>页内样式>大于外联样式
id选择器>class选择器>标签选择器
很简单 一笔带过
但事实上 如果是做前端开发的 还需要更了解详细些
1. !important 是拥有绝对最高优先级的 (设置此值后无论id选择器还是内联样式都无法撼动它)
.set_size{width:inherit !important;}
2.如果不小心在写样式时将外联样式放在了自己单独指定的页内样式前面 外联样式优先级将高于页内样式 这主要是引入css库时需要注意的
但此时内联样式的优先级仍高于外联样式的类选择器优先级
页内样式的id选择器仍高于外联样式的类选择器
此时 内联>外联id>页内id>外联类选择>页内类选择
3.*通配符选择器,会选择页面所有的元素 相当于对页面的每一个元素都应用了一次此样式
很强大,但不好 正确的使用姿势应该是与后代选择器配合使用 如
.foot_thin *{color:blue;}
正常情况下
内联>页内id>外部id>页内类选择>外部类选择......
后代选择器优先级高于类选择器
p span{color:red;}
子选择器优先级和后代选择器相等(在写法相同的情况下)
p > span{color:blue;}
同一css文件中此时是red还是blue 取决于谁写在谁的上一行 在后面的优先级不会更高 但浏览器后渲染 定下来了后面的样式
优先级会叠加
p.is > span{color:black;} 此时优先级会加上类选择器的优先级
id>后代选择
256个类选择器干掉一个id选择器
http://www.zhangxinxu.com/study/201208/256-class-fire-an-id.html
绝不忘记目的( never forgotten purpose )
需要了解css优先级是因为我们需要准确的精简冗余低的便利的可重用的高效的选择元素 从而应用样式 构建一个棒棒的web站点(当然性能优化这方面的东西很大重头戏在后台)
但是这不代表运行在前端的东西就不用考虑性能 完全不去考虑前端的性能,这合适吗?
答案显而易见
效率从高到低为
id选择器(#myid)
类选择器(.myclassname)
标签选择器(div,h1,p)
相邻选择器(h1+p)
子选择器(ul 后代选择器(li a)
通配符选择器(*)
属性选择器(a[rel="external"])
伪类选择器(a:hover,li:nth-child)
但写css的前端,大家基本不会业余到用id选择器
而伪类是有必要的而常用的
更多up可读
http://stevesouders.com/
http://www.tuicool.com/articles/INbuiq
http://csswizardry.com/2011/09/writing-efficient-css-selectors/ or http://www.w3cplus.com/css/css-selector-performance
http://www.jianshu.com/p/268c7f3dd7a6

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文解释了HTML5< time>语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。
