掌握CSS属性:inherit、initial、unset、revert,让你的样式控制更上一层楼

公明
• 阅读 602
微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势,学习途径等等。
本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。

快来免费体验ChatGpt plus版本的,我们出的钱 体验地址:https://chat.waixingyun.cn 可以加入网站底部技术群,一起找bug,另外新版作图神器已上线 https://cube.waixingyun.cn/home

CSS(层叠样式表)是一种强大的用于样式和格式化网页文档的工具。在这份全面的指南中,我们将探讨四个特殊关键词: inheritinitialunsetrevert

Inherit(继承):从父元素传递值

inherit 关键字用于明确指示元素从其父元素继承CSS属性的值。当属性设置为 inherit 时,元素将采用与其父元素相同的值。当你希望文档中的样式保持一致或者希望特定元素从其父元素继承某些样式时,这种行为特别有用。

例如,考虑一个场景,你有一个具有指定文本颜色的 <div> 元素。默认情况下,文本颜色属性( color )是继承的,意味着子元素将具有与父元素相同的文本颜色。然而,你可以使用 inherit 关键字来明确强制执行这种行为,即使在父元素的 CSS 中没有明确指定。

div {
  color: black; /* Text color of the parent div */
}
a {
  color: inherit; /* 从父div继承文本颜色 */
}

在某些情况下,使用 inherit 来设置字体大小或颜色可能是个好主意,但需要注意的是,并非所有属性都会默认继承。了解继承属性和非继承属性之间的区别对于有效地使用 inherit 关键字至关重要。

Initial(初始):重置为默认值

initial 关键字用于将CSS属性重置为CSS规范中指定的初始值。每个CSS属性都有一个由W3C规范定义的初始值,作为默认值。通过使用 initial ,你可以覆盖任何先前的样式并将属性设置回其初始状态。

规范中定义的初始值可能会有所不同。有些初始值具有直观意义,而其他一些可能看起来是随意的。例如, float: nonebackground-color: transparent 是符合常见预期的初始值的示例。然而,像 display: inline 这样的属性可能看起来违反直觉,但这些初始值是基于历史原因或确立起始点的需要而确定的。

button {
  color: initial; /* 将颜色属性重置为初始值 */
}

请记住, initial 关键字只会重置应用于特定属性的值,不会影响其他属性或继承的值。此外,请注意规范中定义的初始值可能并不总是与期望的行为一致。

Unset(取消设置):全面重置

unset 关键字是一个强大的工具,可以全面重置 CSS 属性。它结合了 inheritinitial 关键字的功能,提供了更灵活的重置选项。

对于非继承属性, unset 的工作方式类似于 initial 关键字。它将属性重置为CSS规范中定义的初始值。这确保了属性在没有任何先前样式影响的情况下重新开始。

div {
  margin: unset; /* Resets the margin property to its initial value */
}

然而,对于继承属性, unset 的行为有所不同。它不会将属性重置为初始值,而是恢复属性的自然行为,包括从父元素继承值。

p {
  color: unset; /* Allows the color property to inherit from its parent */
}

当你想要全面重置属性时,无论是继承属性还是非继承属性, unset 关键字尤为有用

Revert(恢复):回归至浏览器样式

revert 关键字是CSS关键字家族的最新成员。与 unset 类似,它允许您重置CSS属性。然而, revert 会考虑到样式表的级联特性,并尊重浏览器的默认样式。

应用于属性时, revert 会取消任何先前的样式,并将属性恢复为浏览器默认样式表定义的值。它实质上将属性返回到由浏览器确定的原始状态。

h1 {
  font-size: revert; /* Reverts the font-size property to the browser's default */
}

在上面的示例中, font-size 元素的 <h1> 属性被设置为 revert ,这使得它可以采用浏览器默认样式表中定义的字体大小。这样可以确保与网页的整体样式一致,并尊重用户的偏好。

总结

在这个全面的指南中,我们已经探索了特殊的CSS关键字 inheritinitialunsetrevert 。这些关键字提供了对CSS属性的有价值的控制,允许你
从父元素传播值,将属性重置为初始或默认状态,并操纵级联样式。

交流

有梦想,有干货,微信搜索 【大迁世界】 关注这个在凌晨还在刷碗的刷碗智。

本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。

掌握CSS属性:inherit、initial、unset、revert,让你的样式控制更上一层楼

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
11个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Sass
嵌套规则(NestedRules)Sass允许将一套CSS样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器mainp{color:00ff00;width:97%;.redbox{
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
HTML5新增input标签属性
一.inputtype属性1<formaction""2邮箱<inputtype"email"name""id""<inputtype"submit"value"提交"<br/<br/3手机号码<inputtype"tel"name
可莉 可莉
3年前
10个很棒的 JavaScript 字符串技巧
作者:Kai译者:前端小智来源:dev点赞再看,微信搜索【大迁世界】关注这个没有大厂背景,但有着一股向上积极心态人。本文GitHubhttps://github.com/qq44924588...(https://www.oschina.net/action/GoToLink?urlhttps%
可莉 可莉
3年前
13 个 JavaScript 数组精简技巧
作者:Duomly译者:前端小智来源:dev.to点赞再看,微信搜索【大迁世界】关注这个没有大厂背景,但有着一股向上积极心态人。本文GitHubhttps://github.com/qq44924588...(https://www.oschina.net/action/GoToL
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
公明
公明
Lv1
生活里没有如果过去的事我不想追究对错
文章
4
粉丝
0
获赞
0