今天不忙,逛逛博客,看到了一篇关于“行内元素是否可以设置宽高”的文章,当时的第一反应当然是不可以了(float,display:block这些不算哈~),面试有这样的题的时候也都是这么回答的。
在没有看到博主解释之前,只看他举的例子,我就已经知道自己错了 ... ... 比如“img,input”等元素,在平时使用的时候我真真的是直接给它们设置宽高的,根本就没有去做什么block啊等等的,可是它们在我的意识里却是被划分到行内元素中的。
耐心的把博客看完了,有点小小的惭愧 ... ...
这里提出一对新的概念(对我而言):
替换元素和不可替换元素。
替换元素:替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容。
(例如浏览器会根据<img>标签的src属性的值来读取图片信息并显示出来,而如果查看(X)HTML代码,则看不到图片的实际内容;又例如根据<input>标签的type属性来决定是显示输入框,还是单选按钮等。)
不可替换元素:HTML 的大多数元素是不可替换元素,即其内容直接表现给用户端(例如浏览器)。
简单的总结就是:
替换元素一般有内在尺寸,所以具有width和height,可以设定。例如你不指定img的width和height时,就按其内在尺寸显示,也就是图片被保存的时候的宽度和高度。对于表单元素,浏览器也有默认的样式,包括宽度和高度。
所以,以后再遇到这样的问题,不能直接回答“可以”或是“不可以”,正确答案应该是置换元素可以,非置换元素不可以。
重新写一遍,给自己提个醒。