CSS可继承,不可继承汇总来了,你都知道吗?

引言

CSS属性可分为可继承属性和不可继承属性。可继承属性是指当父元素的某个属性没有设置时,子元素会继承该属性。而不可继承属性是指当父元素的某个属性没有设置时,子元素不会继承该属性。下面我们来详细介绍一下CSS属性的继承规则和具体的可继承和不可继承属性。

CSS属性的继承规则

CSS属性的继承规则如下:

  1. 对于每个元素,浏览器都有一个初始的样式表,其中包含了所有的CSS属性以及它们的默认值。
  2. 当一个元素没有指定某个属性时,它会继承父元素的相应属性。
  3. 如果父元素也没有指定该属性,那么它就会继承自它的父元素,以此类推,直到找到有该属性的元素为止。
  4. 如果所有的祖先元素都没有指定该属性,那么就会使用浏览器的默认值。

可继承属性

下面我们来看一下CSS中的可继承属性,这些属性可以被子元素继承,不需要单独设置。

1. 字体系列属性

字体属性包括fontfont-familyfont-sizefont-stylefont-weightline-height等。这些属性定义了文字的样式和排版,它们的值会从父元素传递到子元素。

css 复制代码
font-family  
font-size  
font-style  
font-weight  

2. 文本系列属性

文本属性包括text-aligntext-indenttext-transformtext-decoration等。这些属性控制了文本的对齐、缩进、大小写转换、下划线等效果,它们的值也会从父元素传递到子元素。

arduino 复制代码
text-align  
text-decoration  
text-indent  
text-transform  
line-height  
letter-spacing  
word-spacing  

3. 颜色属性

颜色属性包括colorbackground-colorborder-color等。这些属性定义了文本、背景、边框的颜色,它们的值也会从父元素传递到子元素。

css 复制代码
color  

4. 列表属性

列表属性包括list-style-typelist-style-imagelist-style-position等。这些属性定义了列表项的样式、位置和图像,它们的值也会从父元素传递到子元素。

css 复制代码
list-style-type  
list-style-position  
list-style-image  

5. 表格属性

表格属性包括border-collapseborder-spacingcaption-sideempty-cells等。这些属性定义了表格的边框、间距、标题位置和空单元格处理方式,它们的值也会从父元素传递到子元素。

css 复制代码
border-collapse  
border-spacing  
caption-side  
empty-cells  

6. 其他属性

其他可继承属性还包括visibilitycursor等,它们控制了元素的可见性和鼠标光标形态等效果,它们的值也会从父元素传递到子元素。

css 复制代码
cursor  
visibility  

不可继承属性

下面我们再来看一下CSS中的不可继承属性,这些属性不能被子元素继承,需要单独设置。

1. 盒模型属性

盒子模型属性包括widthheightpaddingmarginborder等。这些属性定义了元素的尺寸、填充、边距和边框,它们的值只适用于该元素本身,不会影响子元素。

css 复制代码
width  
height  
margin  
padding  
border  

2. 定位属性

定位属性包括positiontoprightbottomleftz-index等。这些属性定义了元素的定位和堆叠顺序,它们的值只适用于该元素本身,不会影响子元素。

css 复制代码
position  
top  
bottom  
left  
right  

3.清除浮动

清除浮动属性包括clear。这个属性用于清除浮动元素对周围元素的影响,也只适用于该元素本身,不会影响子元素。

arduino 复制代码
clear

4. 背景属性

背景属性包括background-imagebackground-repeatbackground-positionbackground-size等。这些属性定义了元素的背景图像、重复方式、位置和大小,也只适用于该元素本身,不会影响子元素。

arduino 复制代码
background-image
background-repeat
background-position
background-size

5. 文本属性

虽然文本属性中的大部分是可继承属性,但是text-shadowwhite-space是不可继承的。text-shadow用于设置文本阴影,而white-space用于控制空白字符的处理方式,也只适用于该元素本身,不会影响子元素。

css 复制代码
text-shadow
white-space

6. 其他属性

其他不可继承属性还包括displayfloatoverflowvertical-alignclip 等,它们控制了元素的显示方式、浮动、溢出和垂直对齐等效果,也只适用于该元素本身,不会影响子元素。

css 复制代码
display
float
overflow
vertical-align  
clip  

总结

在CSS中,可继承属性和不可继承属性的区别非常重要。了解哪些属性是可继承的,哪些属性是不可继承的,可以帮助我们更好地控制网页的样式和排版,不至于发生了样式重叠而不自知。

当我们需要设置一个元素的样式时,如果这个属性是可继承的,我们可以将它设置在父元素上,从而使子元素继承这个样式。如果这个属性是不可继承的,我们必须将它分别设置在每个子元素上。

同样的,当我们需要修改一个元素的样式时,也需要注意它的属性是可继承的还是不可继承的。如果这个属性是可继承的,我们只需要修改父元素的样式,就可以同时修改所有子元素的样式。如果这个属性是不可继承的,我们必须逐个修改每个子元素的样式。

CSS属性的继承规则和可继承属性与不可继承属性的列表,对于我们的实际开发来说是非常重要的知识点。在实际开发中,正确地设置CSS样式可以可以提高网页的可读性和可维护性,也可以减少不必要的代码,规避没意义的BUG。

那么这篇文章就到这里结束啦~

如果你想了解更多这类文章,点赞关注作者更新更多~

相关推荐
ZJ_.4 分钟前
WPSJS:让 WPS 办公与 JavaScript 完美联动
开发语言·前端·javascript·vscode·ecmascript·wps
GIS开发特训营9 分钟前
Vue零基础教程|从前端框架到GIS开发系列课程(七)响应式系统介绍
前端·vue.js·前端框架·gis开发·webgis·三维gis
Cachel wood35 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
学代码的小前端36 分钟前
0基础学前端-----CSS DAY9
前端·css
joan_8540 分钟前
layui表格templet图片渲染--模板字符串和字符串拼接
前端·javascript·layui
程序猿进阶41 分钟前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
m0_748236111 小时前
Calcite Web 项目常见问题解决方案
开发语言·前端·rust
Watermelo6171 小时前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript
m0_748248941 小时前
HTML5系列(11)-- Web 无障碍开发指南
前端·html·html5
m0_748235612 小时前
从零开始学前端之HTML(三)
前端·html