【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 属性,以确保页面的正确显示和良好的性能。

相关文章
|
4天前
|
前端开发
【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】
本文档详细介绍了CSS中清除默认样式的方法,包括清除内外边距、列表项目符号等;探讨了外边距的合并与塌陷问题及其解决策略;讲解了行内元素垂直边距的处理技巧;并介绍了圆角与盒子阴影效果的实现方法。最后通过产品卡片和新闻列表两个综合案例,展示了所学知识的实际应用。
22 11
|
4天前
|
前端开发
|
4天前
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。
|
4天前
|
前端开发
【前端web入门第五天】01 结构伪类选择器与伪元素选择器
本文介绍了CSS中的结构伪类选择器和伪元素选择器。结构伪类选择器如`nth-child`可根据元素结构关系进行选择,例如将列表中首个`&lt;li&gt;`元素背景设为绿色。伪元素选择器用于创建装饰性内容。
|
4天前
|
前端开发
【前端web入门第五天】02 盒子模型基础
本文档详细介绍了CSS中的盒子模型及其组成部分,包括内容区域、内边距、边框线和外边距。通过具体示例展示了如何设置边框线、内边距及外边距,并解释了尺寸计算方法和版心居中的技巧。内容丰富,示例清晰,有助于理解盒子模型在网页布局中的应用。
|
4天前
|
前端开发
【前端web入门第六天】01 CSS浮动
这是关于CSS布局第六天学习目标的介绍,主要解决多个`&lt;div&gt;`标签在同一行显示的问题,即一个在左边,另一个在右边。文中介绍了标准流、浮动及flex布局的概念,重点推荐使用flex布局。文章详细讲解了浮动的基本使用、布局技巧及清除浮动的方法,包括额外标签法、单伪元素法、双伪元素法和`overflow`隐藏法,并提供了示例代码帮助理解。
|
4天前
|
前端开发
前端web入门第四天】03 显示模式+综合案例热词与banner效果
本文档介绍了HTML中标签的三种显示模式:块级元素、行内元素与行内块元素,并详细解释了各自的特性和应用场景。块级元素独占一行,宽度默认为父级100%,可设置宽高;行内元素在同一行显示,尺寸由内容决定,设置宽高无效;行内块元素在同一行显示,尺寸由内容决定,可设置宽高。此外,还提供了两个综合案例,包括热词展示和banner效果实现,帮助读者更好地理解和应用这些显示模式。
|
3天前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
1月前
|
存储 前端开发 JavaScript
前端语言串讲 | 青训营笔记
前端语言串讲 | 青训营笔记
21 0
|
3月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
64 2