css有哪些属性可以继承?

大家好,我是IT修真院深圳分院第04期学员,一枚正直善良的web程序员。

今天给大家分享一下,修真院官网 js任务中可能会使用到的知识点:

css有哪些属性可以继承?


1.背景介绍

在我们深入探讨继承之前,有必要先理解文档树。所有的HTMl文档都是树,文档树由HTML元素组成,文档树和家族树类似,也有祖先、后代、父亲、孩子、兄弟



祖先指任意相连,但是在文档树上部的元素。


后代指任意相连,但是在文档树下部的元素。


父辈指相连并且直接在该元素上部的元素。
子辈指相连并且直接在该元素下部的元素。
兄弟指与其他元素共享一个父辈的元素。

除此之外还有必要先知道CSS的规则,CSS规则告诉浏览器如何去渲染HTML页面上的特定元素。

1:选择器“选择”受此规则影响的HTML页面上的元素。  
2:声明部分是由一对大括号以及其中任意内容组成的容器。  
3:声明告诉浏览器如何去渲染页面上被选中的元素。  
4:属性告诉你选中元素的样式外观。  
5:值是你希望给属性设置准确的样式。

2.知识剖析

现在我们可以进入正题了。

css样式表继承指的是,特定的css属性向下传递到后代元素

为了看到继承的实际应用,我们将使用下面的HTML代码。

注意: em元素在 p元素的内部。

我们也使用CSS代码。注意:em元素未指定样式。

在浏览器中, p元素和 em元素同时变红。

但是为什么em元素会变红?其并没有设置颜色样式。

因为em元素继承了p元素的颜色属性。

继承是网页开发者更加轻松,否则我们就要对所以的子孙元素指定属性。

CSS文件大小将会大大增加,变得更难创建与维护,同时降低了下载速度。


3.常见问题

是否所以的CSS属性都可以继承呢?

非也!并非所以的CSS属性都支持继承。

如果每个CSS属性都继承,对于作者而言,反而会让事情更糟。

开发人员需要将子孙元素不需要的CSS属性一个一个地“关掉”。

我们可以设想下,如果默认状态下,border属性是可以继承的...

然后我们将border属性应用于p元素,结果?

结果在p里面em元素也有了红色边框。  
幸运的是,边框是非继承的,所以em元素是没有边框的。

通常来说,仅仅那些使我们工作轻松的属性是继承的。


4.解决方案

那么有哪些属性可以自动继承呢

有继承性的属性:

        1、字体系列属性

        font:组合字体

        font-family:规定元素的字体系列

        font-weight:设置字体的粗细

        font-size:设置字体的尺寸

        font-style:定义字体的风格

        font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为

        大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。

        font-stretch:允许你使文字变宽或变窄。所有主流浏览器都不支持。

        font-size-adjust:为某个元素规定一个 aspect 值,字体的小写字母 "x" 的高度与

        "font-size" 高度之间的比率被称为一个字体的 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、opacity        2、光标属性:cursor

内联元素可以继承的属性:

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

块级元素可以继承的属性:

1、text-indent、text-align

无继承的属性

        1、display

        2、文本属性:vertical-align:

        text-decoration:

        text-shadow:

        white-space:

        unicode-bidi:

        3、盒子模型的属性:宽度、高度、内外边距、边框等

        4、背景属性:背景图片、颜色、位置等

        5、定位属性:浮动、清除浮动、定位position等

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

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

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

继承中比较特殊的几点

1、a 标签的字体颜色不能被继承

1、h1-h6标签字体的大下也是不能被继承的

因为它们都有一个默认值


5.编码实战

font-size的继承是如何实现的?

实例一:像素

p 元素设置了14px的font-size大小。

改像素值(14px)重写了浏览器默认的font-size大小。在这个新值被后代继承了。

实例二:百分比p 元素设置了85%的font-size大小。 p { font-size:85%;}   

 浏览器默认的font-size大小和百分比值被用来生成计算后的值。在这个新值被后代继承了。  

实例三:em单位

p 元素设置了0.85em的font-size大小。

浏览器默认的font-size和em值(.85em)被用来生成计算后的值。在这个新值被后代继承了。

6.扩展思考

开发者如何使用继承书写高效的CSS代码。

例如,你可以设置color,font-size和font-family在body元素上。

这些属性会被继承到所有后代元素上。

然后你可以重写你需要的属性值,制定性的颜色值  
新的font-family值
以及需要的font-size值。

7.参考文献

参考一:CSS之继承详解


8.更多讨论

1.如何让input元素继承字体属性?

答:可以使用inherif属性来继承父级的样式。

2.如何让两个使用相同类名的元素具有不同的效果?

答:可以使用伪类选择器,比如nth-child(X),使父元素下具体第X个元素修改样式。

3.什么情况下应该继承特征?

答:在子元素都可以使用相同的字体,颜色,就可以在父元素写想相同的样式。




css有哪些属性可以继承?

感谢大家观看!

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容