作者:张路
链接:http://www.zhihu.com/question/19708137/answer/18923770
来源:知乎
src :source的简写,表示“源”,可以理解为【引用一个资源】,就好像@贺师俊所说,用来代替自己本身的内容。如img、script、iframe。它们如果不写src,那么本身没有内容,script会不存在脚本代码,img会显示x,iframe会显示空白页。例如<script type="text/javascript" src="b.js">alert(1)</script>,b.js:alert(2); 标准的浏览器里会显示2,因为本身的内容已经被替代了。
href : Hypertext Reference的缩写,表示“超链接”, 目的不是为了引用一个资源,而是为了建立一个“通道”,让当前标签能够链接到目标地址上,并不是为了把目标拉进页面本身内来替换本身的内容,例如a标签的href不会被当做一个资源替换自身,link标签本身并不包含实际的元素意义来做内容,它需要rel明确的表示被【被连接的文档是做什么的】。
如果你的问题是“style标签为什么不用src属性”,那这个问题应该就是历史遗留问题了,我有时候也在想,为什么代表javascript的script标签可以用src属性来引用一个源文件,而身为代表css的style标签却没有src属性呢
有时候我会有一种“错觉”,src引用进来的内容是依托于当前页面的,它需要当前页面为载体来产生作用,比如执行,显示。而href建立的链接相互之间是平等的,页面的css渲染也是双方建立树然后浏览器自身进行规则匹配,并不是css去主动为页面服务。
href : Hypertext Reference的缩写,表示“超链接”, 目的不是为了引用一个资源,而是为了建立一个“通道”,让当前标签能够链接到目标地址上,并不是为了把目标拉进页面本身内来替换本身的内容,例如a标签的href不会被当做一个资源替换自身,link标签本身并不包含实际的元素意义来做内容,它需要rel明确的表示被【被连接的文档是做什么的】。
如果你的问题是“style标签为什么不用src属性”,那这个问题应该就是历史遗留问题了,我有时候也在想,为什么代表javascript的script标签可以用src属性来引用一个源文件,而身为代表css的style标签却没有src属性呢
有时候我会有一种“错觉”,src引用进来的内容是依托于当前页面的,它需要当前页面为载体来产生作用,比如执行,显示。而href建立的链接相互之间是平等的,页面的css渲染也是双方建立树然后浏览器自身进行规则匹配,并不是css去主动为页面服务。