1.行内元素和块级元素分别有哪些?并且有什么区别?
- 行内元素: a span strong em 等
不独占一个区域,它是靠自己的字体大小或者图像大小来支撑结构。
一般是不可以设置宽高的。
- 行内元素的特点:
- 和相邻的行内元素在一行上
- 不可设置宽高,但是可以设置水平方向上的padding和margin属性,垂直方向上的则无效
- 默认宽度就是本身的宽度
- 行内元素只能容纳纯文本或者其它的行内元素(a标签除外)
- 块级元素: h1~h6 p div ul ol li 等
每个块级元素都会独占一行或者多行,可以对其单独设置宽高。
- 块级元素的特点:
- 会独占一行
- 宽高、外边距和内边距都可以单独设置
- 宽度默认是容器的100%
- 可以容纳行内元素和其它的块级元素
- 行内块元素:input img td 等
可以设置宽高等
- 行内块元素的特点:
- 和相邻的行内元素在一行上,但是中间会有空白间隙
- 默认的宽度就是本身内容的宽度
- 高度、行高、内边距和外边距都可以设置
- 行内元素和块级元素的相互转换:
- 块级元素=》行内元素:display:inline;
- 行内元素=》块级元素:display:block;
- 块级/行内 元素=》行内块:display:inline-block
2.对于盒子模型的理解?
css3中的盒模型有以下两种:
标准盒子模型、IE盒子模型
相同点:
都是有四个部分组成的,分别是margin、border、padding、content
不同点:
标准盒子模型,width和height只包含content
IE盒子模型,width和height包含border,padding、content
可以通过设置box-sizeing属性来改变盒子模型:
box-sizeing :content-box 表示标准盒子模型
box-sizeing:border-box 表示IE盒子模型
3.页面导入样式时,使用link和@import有什么区别?
相同点:
-
它们都是用来引用CSS样式的
不同点:
-
link是并发加载,@import是串行加载,会被阻塞,需要等网站加载完毕后才开始加载
-
@import是css高版本提出的,对老的浏览器兼容不太好
-
import只能加载css,link除了能加载css,其它的一些也可以