【Web 前端】href和src的区别?

简介: 【4月更文挑战第22天】【Web 前端】href和src的区别?

image.png

当谈及HTML或者XML文档中的链接资源时,经常会听到 hrefsrc 这两个属性。虽然它们看起来有些相似,但在使用和含义上存在着明显的差异。在这篇文章中,我将详细解释 hrefsrc 的区别,并提供示例代码来帮助读者更好地理解它们。

1. href 属性

href 是 Hypertext Reference 的缩写,它是 HTML 中用来定义超链接的属性。它通常用于指定外部资源的位置,比如链接到另一个网页、样式表、图片、音频或视频等。下面是 href 属性的一些特点和示例用法:

  • 定义超链接:href 属性被用于 <a><link><area> 等标签中,用来指定要跳转的链接地址。
  • 引入外部样式表:<link> 标签中的 href 属性被用来指定外部 CSS 文件的路径,用于为 HTML 文档引入样式。
  • 加载外部脚本:在 <script> 标签中,href 属性用于指定外部 JavaScript 文件的路径。

示例代码:

<!-- 定义超链接 -->
<a href="https://example.com">Click here</a>

<!-- 引入外部样式表 -->
<link rel="stylesheet" href="styles.css">

<!-- 加载外部脚本 -->
<script src="script.js"></script>

2. src 属性

src 是 Source 的缩写,它也是 HTML 中的一个属性,用于指定要嵌入或引用的资源的位置。与 href 属性不同,src 属性通常用于引入外部资源,比如图片、音频、视频、嵌入式框架等。下面是 src 属性的一些特点和示例用法:

  • 引入嵌入式内容:在 <iframe> 标签中,src 属性被用于指定要嵌入的外部网页的 URL 地址。
  • 引入图片:在 <img> 标签中,src 属性被用于指定要显示的图片的 URL 地址。
  • 引入音频和视频:在 <audio><video> 标签中,src 属性用于指定要播放的音频或视频文件的 URL 地址。
  • 加载嵌入式脚本:在 <script> 标签中,src 属性用于指定要引入的外部 JavaScript 文件的路径。

示例代码:

<!-- 引入嵌入式内容 -->
<iframe src="https://example.com/embedded"></iframe>

<!-- 引入图片 -->
<img src="image.jpg" alt="Image">

<!-- 引入音频 -->
<audio controls src="audio.mp3">
    Your browser does not support the audio element.
</audio>

<!-- 引入视频 -->
<video controls src="video.mp4">
    Your browser does not support the video element.
</video>

<!-- 加载嵌入式脚本 -->
<script src="script.js"></script>

区别分析

虽然 hrefsrc 在表面上都用于指定资源的位置,但它们在使用和含义上有着明显的差异:

  1. 用途不同

    • href 属性通常用于定义超链接和引入外部样式表,以及指定 <a><link><area> 等标签的跳转链接地址。
    • src 属性主要用于引入外部资源,如图片、音频、视频、嵌入式框架等,以及在 <iframe><script> 标签中指定外部文件的路径。
  2. 对应标签不同

    • href 属性通常用于 <a><link><area> 等标签中。
    • src 属性通常用于 <img><audio><video><iframe><script> 等标签中。
  3. 加载方式不同

    • 对于 href 属性,浏览器会根据标签类型和内容进行相应的处理,比如跳转链接或者加载外部样式表,不会直接将资源嵌入到文档中。
    • 而对于 src 属性,浏览器会直接加载指定的资源,并将其嵌入到文档中,比如图片、音频、视频或者嵌入式框架。
  4. 兼容性差异

    • 由于 src 属性通常用于加载外部资源,因此在一些标签中使用 src 属性可能会对性能和加载速度产生影响,特别是在移动设备上或者网络条件较差的情况下。
    • 相比之下,href 属性通常用于定义超链接和引入样式表,对页面加载速度的影响较小,兼容性也较好。

综上所述,hrefsrc 在HTML中有着不同的用途和含义,开发者需要根据具体的需求和场景选择合适的属性来指定资源的位置。无论是定义超链接、引入样式表,还是加载图片、音频和视频等资源,都需要理解并正确使用 hrefsrc 属性,以确保页面的正确显示和良好的性能。

相关文章
|
1天前
|
开发框架 前端开发 JavaScript
Web前端框架
Web前端框架等名词
10 2
|
11天前
|
人工智能 前端开发
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
|
13天前
|
存储 前端开发 JavaScript
从 Web 2.0 到 Web 3.0:前端开发的历史与未来
【10月更文挑战第4天】本文探讨了从 Web 2.0 到 Web 3.0 的前端开发演变过程。Web 2.0 时代,前端开发者从静态网页设计走向复杂交互,技术框架如 jQuery、React 和 Vue 带来了巨大的变革。而 Web 3.0 以区块链技术为核心,带来了去中心化的互联网体验,前端开发者面临与区块链交互、去中心化身份验证、分布式存储等新挑战。文章总结了 Web 2.0 和 Web 3.0 的核心区别,并为开发者提供了如何应对新技术的建议,帮助他们在新时代中掌握技能、设计更安全的用户体验。
46 0
从 Web 2.0 到 Web 3.0:前端开发的历史与未来
|
1天前
|
监控 前端开发 JavaScript
前端技术探索:构建高效、可维护的Web应用
【10月更文挑战第23天】前端技术探索:构建高效、可维护的Web应用
5 0
|
14天前
|
网络协议 API 网络安全
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
64 0
|
14天前
|
移动开发 前端开发 JavaScript
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
81 0
|
14天前
|
存储 安全 前端开发
在前端开发中需要考虑的常见web安全问题和攻击原理以及防范措施
在前端开发中需要考虑的常见web安全问题和攻击原理以及防范措施
70 0
|
14天前
|
JavaScript 前端开发 应用服务中间件
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
19 0
|
14天前
|
存储 前端开发 API
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
63 0
|
14天前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。