css控制继承

摘要:
首先,HTML有以下部分:<ul><li>默认<ahref=“#”>链接</a>color</li><licclass=“inherit”>继承<ahref=“#”˃链接</a<color<ali><licclass=“initial”>重设<ahref‘”#>链接</a>color></li<licclass>“unset”>取消设置<ahref“#”<链接</a〕color</li></ul>现在使用CSS为其添加样式:body{color:green;}。inherita{color:inherit;}。草签{color:initial}。unseta{color:unset;}结果:让我们解释一下这里发生了什么:首先,我们将<body>的颜色设置为绿色。因为颜色属性是自然继承的,所以所有身体子元素都将具有相同的绿色。最后一条规则选择在元素上使用类unset的所有链接,并将它们的颜色设置为unset——也就是说,我们不设置值。因为颜色属性是一个自然继承的属性,所以它实际上就像设置要继承的值一样。

inherit:继承父类。

initial:继承浏览器。

unset:重置为自然值,继承父类或者浏览器。

revert:恢复原来的值。

详解:

CSS为处理继承提供了四种特殊的通用属性值:

  • inherit: 该值将应用到选定元素的属性值设置为与其父元素一样。
  • initial :该值将应用到选定元素的属性值设置为与浏览器默认样式表中该元素设置的值一样。如果浏览器默认样式表中没有设置值,并且该属性是自然继承的,那么该属性值就被设置为 inherit
  • unset :该值将属性重置为其自然值,即如果属性是自然继承的,那么它就表现得像 inherit,否则就是表现得像 initial
  • revert :如果当前的节点没有应用任何样式,则将该属性恢复到它所拥有的值。换句话说,属性值被设置成自定义样式所定义的属性(如果被设置), 否则属性值被设置成用户代理的默认样式。

注意: initial 和 unset 不被IE支持。

inherit 值是最有趣的——它允许我们显式地让一个元素从其父类继承一个属性值。

让我们看一个例子。首先有以下一段HTML:

<ul>
  <li>Default <a href="#">link</a> color</li>
  <li class="inherit">Inherit the <a href="#">link</a> color</li>
  <li class="initial">Reset the <a href="#">link</a> color</li>
  <li class="unset">Unset the <a href="#">link</a> color</li>
</ul>

现在用CSS给它添加样式:

body {
  color: green;
}

.inherit a {
  color: inherit;
}

.initial a {
  color: initial
}

.unset a {
  color: unset;
}

Result:

css控制继承第1张

让我们解释这里发生了什么:

  •  我们首先设置<body> 的color为绿色。
  • 由于color属性是自然继承的,所有的body子元素都会有相同的绿色。需要注意的是默认情况下浏览器设置链接的颜色为蓝色,而不是自然继承color属性,因此在我们列表中的第一个链接是蓝色的。
  • 第二个规则设置一个类 inherit 的元素内的链接,并从父类继承它的颜色。在这种情况下, 意思是说链接继承了父元素<li>的颜色,默认情况下<li>的颜色来自于它的父元素 <ul> , 最后<ul> 继承自 <body>元素,而<body>color 根据第一条规则设置成了绿色。
  • 第三个规则选择了在元素上使用类 initial 的任意链接然后设置他们的颜色为 initial 。通常, initial 的值被浏览器设置成了黑色,因此该链接被设置成了黑色。
  • 最后一个规则选择了在元素上使用类 unset 的所有链接然后设置它们的颜色为 unset  ——即我们不设置值。因为color属性是一个自然继承的属性,它实际上就像把值设置成 inherit 一样。结果是,该链接被设置成了与body一样的颜色——绿色。

链接:https://developer.mozilla.org/zh-CN/docs/Learn/CSS/Introduction_to_CSS/Cascade_and_inheritance

免责声明:文章转载自《css控制继承》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇记一次gitlab-ce数据恢复过程layui的几个简单使用(简单弹窗,加载效果,移除加载效果)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

用css3绘制你需要的几何图形

1、圆形 示例:          思路:给任何正方形元素设置一个足够大的 border-radius ,就可以把它变成一个圆形.代码如下: html: <div class="size example1"></div> css: .size{ 200px; height: 200px; backgro...

CSS 实现加载动画之一-菊花旋转

最近打算整理几个动画样式,最常见的就是我们用到的加载动画。加载动画的效果处理的好,会给页面带来画龙点睛的作用,而使用户愿意去等待。而页面中最常用的做法是把动画做成gif格式,当做背景图或是img标签来引用,这种方式最简单,也不会有兼容性的问题。不过本人有时爱折腾,看到一些动画的效果,不管是简单也好,复杂也好,也想尝试用代码来实现它,换一种思维方式,就算在项...

更便捷的css处理方式-postcss

更便捷的css处理方式-PostCSS 一般来说介绍一个东西都是要从是什么,怎么用的顺序来讲。我感觉这样很容易让大家失去兴趣,先看一下postcss能做点什么,有兴趣的话再往下看,否则可能没有耐心看下去。让我们开始吧 postcss能做什么 补全css属性浏览器前缀 手写的代码可以是这样的: .div{ display: flex; } post...

Bootstrap 点击按钮切换内容

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <!-- CSS --> <!-- 最新版本的 Boots...

Bootstrap 环境安装

下载 Bootstrap 可以从 http://getbootstrap.com/ 上下载 Bootstrap 的最新版本。当点击这个链接时,将看到如下所示的网页: 您会看到两个按钮: Download Bootstrap:下载 Bootstrap。点击该按钮,您可以下载 Bootstrap CSS、JavaScript 和字体的预编译的压缩版本。不包含文...

关于CSS背景background属性经典的配置

background background-color: transparent; background-image: url("/assets/images/phonetitle1.gif"); background-repeat: repeat; background-attachment: scroll; background-position: 0...