CSS继承-属性继承-可继承-不可继承

CSS继承-属性继承

继承

css的一个主要特征就是继承,它是依赖于祖先-后代的关系的。继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。

继承的局限性

有些属性是不能被继承的。

继承中容易引起的错误

有时候继承也会带来些错误,比如说下面这条css定义:

body{color:blue}

在有些浏览器中这句定义会使除表格之外的文本变成蓝色。从技术上来说,这是不正确的,但是它确实存在。所以我们经常需要借助于某些技巧,比如将css定义成这样:

body,table,th,td{color:blue}

这样表格内的文字也会变成蓝色。

继承的属性权重是小的,使用标签设置其样式都可以将其覆盖。比如a标签

CSS继承-哪些可被继承,哪些不可

一、无继承性的属性

  1. display:规定元素应该生成的框的类型

  2. 文本属性:
    vertical-align:垂直文本对齐
    text-decoration:规定添加到文本的装饰
    text-shadow:文本阴影效果
    white-space:空白符的处理
    unicode-bidi:设置文本的方向

  3. 盒子模型的属性:
    width、height、margin 、margin-top、margin-right、margin-bottom、margin-left、border、border-style、border-top-style、border-right-style、border-bottom-style、border-left-style、border-width、border-top-width、border-right-right、border-bottom-width、border-left-width、border-color、border-top-color、border-right-color、border-bottom-color、border-left-color、border-top、border-right、border-bottom、border-left、padding、padding-top、padding-right、padding-bottom、padding-left

  4. 背景属性:background、background-color、background-image、background-repeat、background-position、background-attachment

  5. 定位属性:float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index

  6. 生成内容属性:content、counter-reset、counter-increment

  7. 轮廓样式属性:outline-style、outline-width、outline-color、outline

  8. 页面样式属性:size、page-break-before、page-break-after

  9. 声音样式属性:pause-before、pause-after、pause、cue-before、cue-after、cue、play-during

二、有继承性的属性

  1. 字体系列属性
    font:组合字体
    font-family:规定元素的字体系列
    font-weight:设置字体的粗细
    font-size:设置字体的尺寸
    font-style:定义字体的风格
    font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。
    font-stretch:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。
    font-size-adjust:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height
  2. 文本系列属性
    text-indent:文本缩进
    text-align:文本水平对齐
    line-height:行高
    word-spacing:增加或减少单词间的空白(即字间隔)
    letter-spacing:增加或减少字符间的空白(字符间距)
    text-transform:控制文本大小写
    direction:规定文本的书写方向
    color:文本颜色
  3. 元素可见性:visibility
  4. 表格布局属性:caption-side、border-collapse、border-spacing、empty-cells、table-layout
  5. 列表布局属性:list-style-type、list-style-image、list-style-position、list-style
  6. 生成内容属性:quotes
  7. 光标属性:cursor
  8. 页面样式属性:page、page-break-inside、windows、orphans
  9. 声音样式属性:speak、speak-punctuation、speak-numeral、speak-header、speech-rate、volume、voice-family、pitch、pitch-range、stress、richness、、azimuth、elevation

三、所有元素可以继承的属性

  1. 元素可见性:visibility
  2. 光标属性:cursor

四、内联元素可以继承的属性

  1. 字体系列属性
  2. 除text-indent、text-align之外的文本系列属性

五、块级元素可以继承的属性

  1. text-indent、text-align

参考链接

CSS有哪些属性可以继承?
CSS 继承,哪些属性能继承,哪些不能

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容