src和href的区别

前言

持续学习总结输出中,srchref都是HTML中特定元素的属性,都可以用来引入外部的资源。两者区别如下:

1、作用

href 用于在当前文档和引用资源之间确立联系。

src 用于替换当前内容。

2、范围用途

src(source)它通常用于img、video、audio、script元素,通过src指向请求外部资源的来源地址,指向的内容会嵌入到文档中当前标签所在位置,在请求src资源时,它会将资源下载并应用到文档内,比如说:js脚本、img图片、frame等元素。例如,<img src="image.jpg">用于引用图片资源,<script src="script.js"></script>用于引用JavaScript脚本文件。

href(hyper reference)超链接,指向网络资源,用于指定链接到HTML文档之外的资源,如CSS样式表、字体文件或其他网页。例如,<link href="styles.css" rel="stylesheet">用于链接到一个CSS样式表文件,<a href="page.html">link</a>用于创建一个指向其他网页的超链接。

3、引用方式

src属性引用的资源是必需的,并且将在文档中占据一定的空间,直接影响文档的渲染。例如,通过<img src="image.jpg">将在文档中嵌入一张图片。

href属性引用的资源是可选的,并且不会占据文档的空间,仅用于指定链接到文档之外的资源。例如,通过<link href="styles.css" rel="stylesheet">将链接到一个 CSS 样式表文件。

4、对文档的影响

src 属性会将引用的资源嵌入到文档中,因此会直接影响文档的加载和呈现。如果 src 属性引用的资源无法加载或错误,将会导致嵌入的内容无法显示或运行。

href 属性不会直接影响文档的加载和呈现,而是通过链接到外部资源来影响文档的样式和行为。如果 href 属性引用的资源无法加载或错误,只会影响到该资源的使用,而不会影响到整个文档的显示。

6、浏览器解析方式

src 当浏览器解析到时 ,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等也如此,类似于将所指向资源应用到当前内容。这也是为什么建议把 js 脚本放在底部而不是头部的原因。

href 文档添加时 ,当浏览器识别到它指向的⽂件时,就会并⾏下载资源,不会停⽌对当前⽂档的处理。这也是为什么建议使用 link 方式加载 CSS,而不是使用 @import 方式。

7、总结

src是用于嵌入到文档中的资源,href是用于链接到文档之外的资源。src会直接影响文档的加载和显示,href只会影响到引用的资源的使用。使用时,我们需要根据需求和资源类型,选择适当的属性来引用资源。

相关推荐
Hello--_--World19 分钟前
Vue指令:v-if vs v-show、v-if 与 v-for 的优先级冲突、自定义指令
前端·javascript·vue.js
神の愛20 分钟前
ReactHooks
前端·javascript·react.js
蝎子莱莱爱打怪26 分钟前
用好CC,事半功倍!Claude Code 命令大全,黄金命令推荐、多模型配置、实践指南、Hooks 和踩坑记录大全
前端·人工智能·后端
本末倒置18338 分钟前
VS Code 这次稳了!CSS Anchor Positioning 彻底终结 WebView 定位卡顿
前端
MonkeyKing71551 小时前
Flutter状态管理实战:全局、局部、页面状态拆分指南
前端·flutter
Panzer_Jack1 小时前
Copiwaifu:一个和 Claude Code、Codex、Copilot 等 AI 编程工具联动的 Live2D 桌宠[特殊字符]
前端·人工智能·copilot·web·live2d·pixi.js·easy-live2d
开源情报局2 小时前
从小红书评论区挖需求:我准备用 opencode 写一个 Chrome 插件
前端·javascript·chrome
用户125758524362 小时前
XYGo Admin 三级权限体系:RBAC 动态路由 + v-auth 按钮控制 + 字段级过滤全解析
前端
小李子呢02112 小时前
前端八股JS---Map / Set / WeakMap / WeakSet
开发语言·前端·javascript