作者:mobiledu2502868653 | 来源:互联网 | 2023-05-18 11:52
曾经有一张图片在Firefox下显示正常,但是在IE下却显示灰常,我问IE为什么做的如此垃圾,旁边的哥们儿答曰:因为IE想给其它浏览器厂商提供发展的机会。这样的回答实在是太精辟了!
曾经有一张图片在Firefox下显示正常
background-repeat: no-repeat;
text-align: center;
width: 20px;
height: 20px;
display: inline-block;
}
在这里,Firefox下面能够正常显示金色五角星,而IE下却不能正常显示,这是为什么呢?我们来看一下W3C标准下定义的img标签:
img 元素向网页中嵌入一幅图像。
请注意,从技术上讲, 标签并不会在网页中插入图像,而是从网页上链接图像。 标签创建的是被引用图像的占位空间。
标签有两个必需的属性:src 属性 和alt 属性。
此处,我们显示的金色五角星是通过设置背景来显示图片,而非通过img标签来嵌入图像。在IE下,解析器解析img标签时,一定会查找src属性,如果找不到该属性,就会解析异常。而Firefox在解析img标签时,如果找不到src属性,就会将其解析为Div元素。
上述中同样的代码,图片显示不同,正是由于img标签缺少了src属性,不同的浏览器解析方式不同所造成的。如果将上述代码更改为如下代码就不此问题。
作者编语:Firefox对标签的解析进行了“人性化”的设计,降低了程序出错的可能性,但也容易让初学者追求功能的展示,而忽略了编码的规范。