iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >如何理解CSS编写中的属性优先级
  • 570
分享到

如何理解CSS编写中的属性优先级

2024-04-02 19:04:59 570人浏览 独家记忆
摘要

今天就跟大家聊聊有关如何理解CSS编写中的属性优先级,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。当你将一个样式添加到元素上却发现不起作用时,那就是

今天就跟大家聊聊有关如何理解CSS编写中的属性优先级,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

当你将一个样式添加到元素上却发现不起作用时,那就是遇到优先级问题了。那么应该如何处理 CSS 优先级问题呢,下面是一些解决 CSS 优先级问题的常用法则。

样式距离
我们可以通过使用外部样式、内部样式、内联样式等方法给元素添加指定的样式,此时的优先级是:

外部样式 < 内部样式 < 内联样式
这个应该比较容易理解,也就是说离元素距离越近的样式优先级越大。如:

CSS Code复制内容到剪贴板

  1. <style type="text/css">   
      div{color:blue;} //内部样式   
    </style>   
    <link rel="stylesheet" type="text/css" href="mystyle.css"/> //外部样式(color:green)   
    <div style="color:red">my color</div>//内联样式

此时显示的优先级是 red > blue > green。所以 my color 显示为红色。

特殊的计算方法
假设有下面这段代码:

CSS Code复制内容到剪贴板

  1. <style type="text/css">   
      div p.classSelector {color: blue}   
      #idselector p {color: red}   
    </style>   
    <div id="idSelector">   
      <p class="classSelector">my color</p>   
    </div>

我们面对下面的 css,如何判断优先级呢?

CSS Code复制内容到剪贴板

  1. <style type="text/css">   
      div p.classSelector {color: blue}   
      #idselector p {color: red}   
    </style>

这里介绍一种特殊的计算方法:

元素, 伪元素: 1 &ndash; (0,0,0,1)
类, 伪类, 属性: 1 &ndash; (0,0,1,0)
ID: 1 &ndash; (0,1,0,0)
内联样式: 1 &ndash; (1,0,0,0)
这里的属性指的是:
如何理解CSS编写中的属性优先级

效果如下:
如何理解CSS编写中的属性优先级

优先级从上往下依次增加,至于如何计算,同样举例说明:

p: 1个元素&ndash; (0,0,0,1)
div: 1个元素 &ndash; (0,0,0,1)
#idSelector: 1个ID &ndash; (0,1,0,0)
div#idSelector: 1个元素, 1个ID &ndash; (0,1,0,1)
div#idSelector p: 2个元素, 1个ID&ndash; (0,1,0,2)
div#idSelector p.classSelector: 2个元素, 1个类, 1个ID &ndash; (0,1,1,2)
所以现在我们再来看上面的例子:

CSS Code复制内容到剪贴板

div p.classSelector {color: blue} - (0,0,0,1) + (0,0,0,1) + (0,0,1,0) = (0,0,1,2)   
#idselector p {color: red} - (0,1,0,0) + (0,0,0,1) = (0,1,0,1)

由于优先级上 (0,1,0,1) > (0,0,1,2),所以我们知道最后显示的颜色为红色。

继承
继承是个比较好理解的概念,即子元素会继承父元素的样式。例如:

CSS Code复制内容到剪贴板

  1. <div style="color:red">   
      <p>my color</p>   
    </div>

上例中的 span 会继承父元素 div 的样式。但不是所有的属性都会默认使用继承的方式,比如 margin 和 padding 属性。例如:

CSS Code复制内容到剪贴板

  1. <div style="margin:10px;padding:10px">   
      <p>my color</p>   
    </div>

此时,元素 p 并不会继承父元素 div 的 margin 和 padding 样式,除非你这么做:

CSS Code复制内容到剪贴板

  1. <div style="margin:10px;padding:10px">   
      <p style="margin:inherit;padding:inherit">my color</p>   
    </div>

总结
1.首先找到所有作用在元素上的样式。(不要忽略来自继承的样式)
2.计算样式的作用距离,距离越近,优先级越大。
3.使用特殊的计算方法来判断同距离内的样式。
4.如果计算后的结果相同,那么后声明的样式覆盖先前声明的样式。

看完上述内容,你们对如何理解CSS编写中的属性优先级有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网VUE频道,感谢大家的支持。

--结束END--

本文标题: 如何理解CSS编写中的属性优先级

本文链接: https://www.lsjlt.com/news/81351.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解CSS编写中的属性优先级
    今天就跟大家聊聊有关如何理解CSS编写中的属性优先级,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。当你将一个样式添加到元素上却发现不起作用时,那就是...
    99+
    2024-04-02
  • CSS中如何提升优先级属性!important
    这篇文章主要介绍了CSS中如何提升优先级属性!important,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、语法选择器{样式:值!im...
    99+
    2024-04-02
  • 如何理解CSS优先级
    这篇文章给大家介绍如何理解CSS优先级,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当你将一个样式添加到元素上却发现不起作用时,那就是遇到优先级问题了。那么应该如何处理 CSS 优先级...
    99+
    2024-04-02
  • 如何使用css中提升优先级属性!important
    本篇内容介绍了“如何使用css中提升优先级属性!important”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • CSS属性简写和选择器的优先级是怎样的
    今天就跟大家聊聊有关CSS属性简写和选择器的优先级是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。几个常用 CSS 属性的简短写法精简 CSS...
    99+
    2024-04-02
  • Python中实例属性的优先级
    Python中实例属性的优先级?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该...
    99+
    2023-06-14
  • 如何理解React中的优先级
    这篇文章主要讲解了“如何理解React中的优先级”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解React中的优先级”吧!UI产生交互的根本原因是各种...
    99+
    2024-04-02
  • html标签属性和css属性的优先级哪个比较高
    这篇文章给大家分享的是有关html标签属性和css属性的优先级哪个比较高的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。html标签属性和css属性相比,css属性的优先级高。原因:W3C标准提倡使用CSS样式,提...
    99+
    2023-06-15
  • jQuery如何解决添加样式属性的优先级别
    这篇文章主要介绍jQuery如何解决添加样式属性的优先级别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!jQuery类中添加多个属性$('#five .a'...
    99+
    2024-04-02
  • 如何理解浏览器对于CSS不同类中的同属性不同值优先级问题
    这篇文章主要介绍“如何理解浏览器对于CSS不同类中的同属性不同值优先级问题”,在日常操作中,相信很多人在如何理解浏览器对于CSS不同类中的同属性不同值优先级问题问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • 如何全面解析CSS优先级规则
    这篇文章将为大家详细讲解有关如何全面解析CSS优先级规则,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。和大家重点讨论一下CSS优先级,既然样式有优先级,那么...
    99+
    2024-04-02
  • 如何理解Discuzx系统CSS编码规范与CSS属性书写顺序
    本篇内容主要讲解“如何理解Discuzx系统CSS编码规范与CSS属性书写顺序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解Discuzx系统CSS编码...
    99+
    2024-04-02
  • 如何理解CSS中的属性模块
    本篇内容主要讲解“如何理解CSS中的属性模块”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解CSS中的属性模块”吧!更多 vs 更少 - 简单比较神奇的是...
    99+
    2024-04-02
  • 如何理解CSS属性中的vertical-align
    这篇文章主要讲解了“如何理解CSS属性中的vertical-align”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解CSS属性中的vertical-...
    99+
    2024-04-02
  • 如何理解CSS属性中的z-index
    这篇文章主要讲解了“如何理解CSS属性中的z-index”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解CSS属性中的z-index”吧!如果你不是一...
    99+
    2024-04-02
  • 如何理解CSS属性中高的min-width
    这篇文章主要讲解了“如何理解CSS属性中高的min-width”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解CSS属性中高的min-width”吧!...
    99+
    2024-04-02
  • 如何理解CSS中的Position和Float属性
    本篇文章给大家分享的是有关如何理解CSS中的Position和Float属性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。本文结构点:1.HT...
    99+
    2024-04-02
  • 如何理解css中position的五个属性
    如何理解css中position的五个属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在实际开发页面布局时,运用positi...
    99+
    2024-04-02
  • CSS优先级的两种理解方式是什么
    这篇文章将为大家详细讲解有关CSS优先级的两种理解方式是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方式一:值相加 我们先去MDN看看官方的解释:优先级是如何计算的?优先级就是分配给指定的...
    99+
    2023-06-08
  • 如何理解CSS属性中的overflow及相关属性text-overflow
    这篇文章主要介绍“如何理解CSS属性中的overflow及相关属性text-overflow”,在日常操作中,相信很多人在如何理解CSS属性中的overflow及相关属性text-overflow问题上存在...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作