1.背景介紹
在做任務的過程中,假如我們要在一個父級元素中的多個子集元素設置一些相同的屬性,這些屬性恰好也是父級也使用到的,那么我們就可以使用繼承的方法來實現。有時候,我們并不想使用繼承,那就重新設置,或者還原到其默認狀態。這時候就用到了標題中提到的三個關鍵字。
2.知識剖析
CSS關鍵字:inherit、initial、unset。
2.1 inherit
inherit 關鍵字指定一個屬性應從父元素繼承它的值。
inherit 關鍵字可用于任何 HTML 元素上的任何 CSS 屬性
該屬性值支持IE8及以上。
demo:http://www.runoob.com/cssref/css-inherit.html
2.2 initial
initial 關鍵字用于設置 CSS 屬性為它的默認值。
initial 關鍵字可用于任何 HTML 元素上的任何 CSS 屬性。
該屬性值支持IE不支持。
demo:http://www.runoob.com/cssref/css-initial.html
2.3 unset
unset 關鍵字,可以簡單按其字面意思,理解為不設置。
unset 關鍵字既然是不設置,那屬性值應該如何取值呢?
unset 是關鍵字 initial 和 inherit 的組合。也就是說,如果該屬性是默認繼承屬性,該值等同于 inherit 如果該屬性是非繼承屬性,該值等同于 initial。
demo:https://codepen.io/Chokcoco/pen/eWJOqB
2.4 inherit、initial、unset 的區別
這里我們引入一個張鑫旭大神的demo來直觀地區分一下其中的區別。
demo:http://www.zhangxinxu.com/study/201603/css3-all.html
3.常見問題
問題: 哪些屬性可以繼承?
4.解決方案
內聯元素可繼承:letter-spacing、word-spacing、white-space、line-height、color、font、 font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。
塊狀元素可繼承:text-indent和text-align。
列表元素可繼承:list-style、list-style-type、list-style-position、list-style-image
表格元素可繼承:border-collapse
5.編碼實戰
參看前邊引用的demo演示。
6.擴展思考
問題:標題標簽H系列和段落標簽的initial效果?
demo:https://ptteng.github.io/PPT/PPT/css-06-inheritance%20of%20css%20attribute.html
7.參考文獻
參考一:談談一些有趣的CSS題目(十五)-- 談談 CSS 關鍵字 initial、inherit 和 unset :http://www.cnblogs.com/coco1s/p/6733022.html
參考二:張鑫旭大神的博客:簡單了解CSS3的all屬性:http://www.zhangxinxu.com/wordpress/2016/03/know-about-css3-all/
參考三:【CSS】initial、inherit、unset、revert:http://www.lxweimin.com/p/e8e6f251aeee
8.更多討論
討論點:大家有沒有使用到過以上的關鍵字,遇到過哪些有意思的問題?
PPT鏈接:https://ptteng.github.io/PPT/PPT/css-06-inheritance%20of%20css%20attribute.html#/
視頻鏈接:https://v.qq.com/x/page/j0508dvjw57.html
文本鏈接:http://www.jnshu.com/daily/24463
------------------------------------------------------------------------------------------------------------------------
技能樹.IT修真院
“我們相信人人都可以成為一個工程師,現在開始,找個師兄,帶你入門,掌控自己學習的節奏,學習的路上不再迷茫”。
這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。快來與我一起學習吧~
你可以直接點擊此鏈接:http://jnshu.com/login/1/84959420