最近在突然想到为什么img标签是行内元素还可以设置宽高,查阅了一点资料和参考了别人的博客,得出结论:img标签没有独占一行所以是行内元素,但是img标签属于替换元素,具有内置的宽高属性,可以直接设置宽高。下面做一些总结。
一、替换元素
-
什么是替换元素
替换元素就是浏览器会根据元素的相关属性的属性值不同,有不同解析展现的一类元素。
如:① img会根据src的不同属性值,有不同展现。
② input会根据type的不同属性值,有不同展现。注:①这些元素一般都是空元素,没有实际内容。
②这些替换元素相当于设置了inline-block,
此时无论是块级元素还是行内元素性质都一样
③不设置宽高时有默认宽高 -
行内替换元素
1.有内在的尺寸,即默认宽高
2.可以设置上下内外边距。
如:img, input, textarea, select, object -
块级替换元素
如:iframe,audio,video等元素
二、非替换元素
非替换元素就是除了 img, input, textarea, select, object 等置换元素以外的元素。html中大多数都是非替换元素,他们直接将内容告诉浏览器,直接显示出来。如:div、span、p等绝大多数元素