今天开始仔细研读《css权威指南》,发现跟之前读的感觉不一样,有些之前忽略的内容在有了项目经验后再回过头看,有了新的理解。之前接触较多是行内元素和块状元素,display属性值的不同在使用过程中会出现很多差异,在此简单总结下:
每个元素都会有display属性,比如div的默认display值为“block”,会自动占据空间,可以通过设置高度、宽度等改变元素的显示。span的默认display值为“inline”,没有自己的空间,只能依附于其他块状元素存在,对他设置的宽高等都是无效的。具体区别如下:
- 块状元素会独占一行,宽度自动填满其父元素宽度。行内元素不会独占一行,响铃的行内元素只有在一行填充不下的时候才会换行;
- 块状元素可以设置高度和宽度,行内元素设置是无效的;
- 块状元素可设置margin和padding,行内元素的margin左右有效,上下无效,对于padding上下左右都有效
可替换元素
可替换元素的展现不是由css控制的,这是一类外观渲染独立于css的外部对象。浏览器会根据元素的标签和属性,来决定元素的具体显示内容。
eg:例如浏览器会根据<img>标签的src属性的值来读取图片信息并显示出来,而如果查看(x)html代码,则看不到图片的实际内容;又例如根据<input>标签的type属性来决定是显示输入框,还是单选按钮等。
(x)html中的<img>、<input>、<textarea>、<select>、<object>都是替换元素。这些元素往往没有实际的内容,即是一个空元素。不可替换元素
(x)html 的大多数元素是不可替换元素,即其内容直接表现给用户端(例如浏览器)。如<div>、<p>、<h1>到<h6>、<table>,等等。