1.魅族一面面试官问我一个问题,img是什么元素?
我第一反应是行内元素。判断一个元素是行内元素,还是块元素,无非就是看它是否是独占一行。img标签显然没有独占一行,固它是行内元素。这没有问题。
2.接下来,面试官又问,既然img是行内元素,那为什么可以通过CSS设置框高呢?
这一问,给我问住了,确实之前没有想过这个问题,翻了一下资料,大概比较好的解释就是:
尽管img是行内元素,但同时它也是置换元素,置换元素一般内置框高属性,因此可以设置其框高。
<img src="/i/mouse.jpg" height="200" width="200"
/>
3.引申问题:那么什么又是“置换元素”呢?
置换元素就是会根据标签属性来显示的元素。反之就是非置换元素了。
比如img根据src属性来显示,input根据value属性来显示,因此可知道img和input是置换元素,当然同理textarea, select,也是置换元素
最后吐槽一下,魅族面了我三面,都让准备三方协议了,最后还把我拒绝了。。。好气