搜索
首页web前端前端问答css中的important是什么意思

css中的important是什么意思

Aug 31, 2022 pm 06:24 PM
cssimportant

在css中,important的意思为“重要的”或“权威的”,用于提高指定CSS样式规则的应用优先权;它会被添加到CSS样式值的末尾以赋予该样式更多权重,语法“选择器{样式:值!important;}”。使用important规则对于性能并没有什么负面影响;但是从可维护性角度考虑,除非绝对必要,应尽可能的避免使用important规则,它应该只在特殊情况下使用。

css中的important是什么意思

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

在css中,important的意思为“重要的”或“权威的”。

1.png

important是CSS的一个规则,用于提高指定CSS样式规则的应用优先权;它被添加到CSS值的末尾以赋予它更多权重。

语法:

选择器{样式:值!important;}

important为开发者提供了一个增加样式权重的方法。应当注意的是!important是对整条样式的声明,包括这个样式的属性和属性值。

在CSS中,样式规则以级联方式应用于元素。下面这个列表中越靠前的权重越小:

  • 浏览器样式:是Web浏览器声明的默认样式。

  • 用户声明的样式:是用户使用浏览器选项设置或通过开发人员调试工具修改的自定义样式。

  • 开发中声明的样式:是网站开发人员在CSS样式表中声明的样式。

  • 具有!important规则的开发者声明样式。

  • 具有!important规则的用户样式。

  !important的作用就是提高指定样式属性的优先级。

一般情况下,我们对同一个元素设置样式属性的时候,对同一个属性设置了两个甚至多个值,像下面这样:

p { /* 例1 */
color:red;
color:yellow;
color:blue;
}

这个时候就是后面声明的属性生效,字体显示为蓝色。

2.png

假设我们希望我还像上面这么写,但我希望最终生效字体显示为红色,那我们可以给红色设置!important:

p { /* 例2 */
     color:red !important;    /* 设置了优先级 */
     color:yellow;
     color:blue;
}

那这个时候字体就会显示为红色。

3.png

如果有多个样式属性设置了!important,像下面这样:

p { /* 例3 */
     color:green !important;
     color:red !important;
     color:yellow !important;
     color:blue;
}

那它还是和没设置时一样,最后声明的生效,也就是说上面这个例子最终生效的颜色是黄色。

4.png

我们知道,CSS选择器越具体,优先级越高,例如:

93f0f5c25f18dab9d176bd4f6de5d30e 
     c9ccee2e6ea535a969eb3f532ad9fe89 
        p.p1 { color:blue; } 
        p { color:red; }
     531ac245ce3e4fe3d50054a55f265927
9c3bca370b5104690d9ef395f2c5f8d1 
6c04bd5ca3fcae76e30b72ad730ca86d
    8eb75804e58375c7a2a4dd2914b2cc83p标签94b3e26ee717c64999d7867364b1b4a3
36cc49f0c466276486e50c850b7e4956

最终这个e388a4556c0f65e1904146cc1a846bee元素显示为蓝色。

2.png

如果我们设置了!important给color:red;

 93f0f5c25f18dab9d176bd4f6de5d30e
    c9ccee2e6ea535a969eb3f532ad9fe89
        p.p1 { color:blue; }
        p { color:red !important; }    /* 设置了优先级 */
    531ac245ce3e4fe3d50054a55f265927

9c3bca370b5104690d9ef395f2c5f8d1
6c04bd5ca3fcae76e30b72ad730ca86d
    8eb75804e58375c7a2a4dd2914b2cc83p标签94b3e26ee717c64999d7867364b1b4a3
36cc49f0c466276486e50c850b7e4956

最终这个e388a4556c0f65e1904146cc1a846bee元素显示为红色。

3.png

那如果这个e388a4556c0f65e1904146cc1a846bee元素设置了内联样式呢?

93f0f5c25f18dab9d176bd4f6de5d30e
    c9ccee2e6ea535a969eb3f532ad9fe89
        p { color:red !important; }
    531ac245ce3e4fe3d50054a55f265927
9c3bca370b5104690d9ef395f2c5f8d1
6c04bd5ca3fcae76e30b72ad730ca86d
    c4597f5d59b34db1eb6d8f55035990bdp标签94b3e26ee717c64999d7867364b1b4a3
36cc49f0c466276486e50c850b7e4956

最终这个e388a4556c0f65e1904146cc1a846bee元素显示为红色。也就是说声明了!important的样式属性会覆盖其它任何声明。

3.png

什么时候用!important规则?

除非绝对必要,否则不应使用!important规则;使用!important规则会打破了样式表的自然级联效果,使得代码难以维护。但是,在某些情况下你必须使用!important:

1、在测试和调试网站时,!important规则是非常有用的。

如果我们的代码中存在一些CSS问题,并且希望确保应用特定的样式,则可以使用!important规则在网站上临时修复问题,直到找到更好的方法(可能需要一些时间) 。

2、输出样式表

!important规则也可用于输出样式表,以确保应用样式而不被其他任何内容覆盖。

结论

使用!important对于性能并没有什么负面影响;但是从可维护性角度考虑,除非绝对必要,应尽可能的避免使用!important规则,它应该只在特殊情况下使用。

在Internet Explorer中的 !important

  但在IE 6及更早的版本中,不支持我们这种写法。像例3,在IE5(我用的是IE11然后再控制台中切换到IE5的方式模拟的,IE11没有模拟IE6,凑合凑合_(:з」∠)_)中运行效果是这样的:

  

  没错,最终它还是显示为蓝色,!important被忽略了。让我们换一种写法:

p { color:blue; }
p { color:yellow; }
p { color:red !important; }/* 设置了优先级 */

  这个时候就可以显示为红色了:

  

  再看看这个例子:

p { color:blue; }
p { 
   color:red !important;    /* 设置了优先级 */
   color:yellow;
}

  在模拟IE5的浏览器中运行效果如下:

  

个人理解:IE6及更早版本的IE浏览器中运行!important就好比说"大家都是针对这个元素设置的样式,color样式请优先使用我这个CSSRule对象(被{}包裹起来的一些样式属性)中的color样式",而不是说"就使用我指定的color样式"。

(学习视频分享:web前端入门

以上是css中的important是什么意思的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
HTML和React的集成:实用指南HTML和React的集成:实用指南Apr 21, 2025 am 12:16 AM

HTML与React可以通过JSX无缝整合,构建高效的用户界面。1)使用JSX嵌入HTML元素,2)利用虚拟DOM优化渲染性能,3)通过组件化管理和渲染HTML结构。这种整合方式不仅直观,还能提升应用性能。

React和HTML:渲染数据和处理事件React和HTML:渲染数据和处理事件Apr 20, 2025 am 12:21 AM

React通过state和props高效渲染数据,并通过合成事件系统处理用户事件。1)使用useState管理状态,如计数器示例。2)事件处理通过在JSX中添加函数实现,如按钮点击。3)渲染列表需使用key属性,如TodoList组件。4)表单处理需使用useState和e.preventDefault(),如Form组件。

后端连接:反应如何与服务器互动后端连接:反应如何与服务器互动Apr 20, 2025 am 12:19 AM

React通过HTTP请求与服务器交互,实现数据的获取、发送、更新和删除。1)用户操作触发事件,2)发起HTTP请求,3)处理服务器响应,4)更新组件状态并重新渲染。

反应:专注于用户界面(前端)反应:专注于用户界面(前端)Apr 20, 2025 am 12:18 AM

React是一种用于构建用户界面的JavaScript库,通过组件化开发和虚拟DOM提高效率。1.组件与JSX:使用JSX语法定义组件,增强代码直观性和质量。2.虚拟DOM与渲染:通过虚拟DOM和diff算法优化渲染性能。3.状态管理与Hooks:Hooks如useState和useEffect简化状态管理和副作用处理。4.使用示例:从基本表单到高级的全局状态管理,使用ContextAPI。5.常见错误与调试:避免状态管理不当和组件更新问题,使用ReactDevTools调试。6.性能优化与最佳

React的角色:前端还是后端?澄清区别React的角色:前端还是后端?澄清区别Apr 20, 2025 am 12:15 AM

reactisafrontendlibrary,focusedonBuildingUserInterfaces.itmanagesuistateandupdatesefficefited fichifited firstualdom,以及EnternactSwithBackendServensEvesviaApisforDataHandling,butdoesnotprocessorsorstoredordordoredaiteffers。

在HTML中进行反应:构建交互式用户界面在HTML中进行反应:构建交互式用户界面Apr 20, 2025 am 12:05 AM

React可以嵌入到HTML中来增强或完全重写传统的HTML页面。1)使用React的基本步骤包括在HTML中添加一个根div,并通过ReactDOM.render()渲染React组件。2)更高级的应用包括使用useState管理状态和实现复杂的UI交互,如计数器和待办事项列表。3)优化和最佳实践包括代码分割、惰性加载和使用React.memo和useMemo来提高性能。通过这些方法,开发者可以利用React的强大功能来构建动态和响应迅速的用户界面。

反应:现代前端发展基础反应:现代前端发展基础Apr 19, 2025 am 12:23 AM

React是构建现代前端应用的JavaScript库。1.它采用组件化和虚拟DOM优化性能。2.组件使用JSX定义,状态和属性管理数据。3.Hooks简化生命周期管理。4.使用ContextAPI管理全局状态。5.常见错误需调试状态更新和生命周期。6.优化技巧包括Memoization、代码拆分和虚拟滚动。

React的未来:Web开发的趋势和创新React的未来:Web开发的趋势和创新Apr 19, 2025 am 12:22 AM

React的未来将专注于组件化开发的极致、性能优化和与其他技术栈的深度集成。1)React将进一步简化组件的创建和管理,推动组件化开发的极致。2)性能优化将成为重点,特别是在大型应用中的表现。3)React将与GraphQL和TypeScript等技术深度集成,提升开发体验。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!