CSS 块级元素/内联元素、继承与相关属性

来源:互联网 发布:简单数据库设计实例 编辑:程序博客网 时间:2024/05/17 18:46

什么是块级元素(Block-level elements)?

  浏览器通常在元素之前和之后都使用换行符显示块级元素。您可以将其可视化为一堆框。
  块级元素始终在新行上开始,并占用可用的全宽(尽可能向左和向右扩展)。
用法:块级元素可能只出现在<body>元素内。

什么是内联元素(Inline elements)?

  在HTML中,内联元素是仅占据由定义元素的标签界定的空格,而不是破坏内容的流。在本文中,我们将检查HTML内联元素以及它们与块级元素的区别。
  内联元素不会在新行上启动,并且只占用必要的宽度。

什么是继承(Inheritance)?

CSS中的继承是将某些属性从父元素传递给其子元素的机制。
个人理解:父辈有什么因素,默认遗传给子辈什么因素。例子:父母都是黑色头发,默认遗传给孩子黑色头发。除非孩子想染灰色头发另谈,不是该父母的孩子另谈。

并不是所有的CSS属性都是​​继承的,因为它们中的一些是没有意义的。例如,边距不被继承,因为子元素不太可能需要与其父元素相同的边距。在大多数情况下,常识会告诉您哪些属性是继承的,哪些属性不是,但确实需要查看CSS 2.1规范属性摘要表中的每个属性。

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

参考链接:
1、http://www.w3.org/TR/CSS21/propidx.html
2、http://www.cnblogs.com/thislbq/p/5882105.html  (作者:KerwinLee )
3、https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements
4、https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements
5、https://www.w3.org/wiki/Inheritance_and_cascade#The_cascade