前端笔记

css继承

2018-05-13  本文已影响12人  好奇男孩

什么是 CSS 继承?

元素没有被设置样式,但它可以从父元<div>素继承样式,如上hello world字体颜色为红色;

<style>
    .father{
      color: #f00;
    }
  </style>
</head>
<body>
  <div class="father">
    <p>hello world</p>
  </div>
</body>
1.png

要详细了解css样式表的继承,我们先从文档树(HTML DOM)开始,文档树由HTML元素组成,文档树和家族树类似,也有祖先、后代、父亲、孩子、兄弟,css样式表继承指的是,特定的css属性向下传递到后代元素。
对于一些可以继承的属性,可以只设置上级的CSS样式表树形,子级(下级)不用设置,会自动继承此CSS属性,可以减少CSS代码,便于维护。

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

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:文本水平对齐
text-shadow:设置文本阴影
line-height:行高
word-spacing:增加或减少单词间的空白(即字间隔)
letter-spacing:增加或减少字符间的空白(字符间距)
text-transform:控制文本大小写
direction:规定文本的书写方向
color:文本颜色
3、元素可见性:visibility
4、表格布局属性:caption-side
border-collapse
empty-cells
5、列表属性:list-style-type
list-style-image
list-stye-position、list-style
6、设置嵌套引用的引号类型:quotes
7、光标属性:cursor

不可继承的属性

1、display
2、文本属性:vertical-align
text-decoration
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>标签字体的大下也是不能被继承的
因为它们都有一个默认值

上一篇下一篇

猜你喜欢

热点阅读