HTML中link的用法

一点寒芒先到,随后,抢出如龙!

对于本人而言,这篇笔记内容有些扩展了,有些还未学到的也用上了,但是大概可以使用的明白,坚持下去,相信一定可以建设一个稳固的根基。

该文章为个人成长学习笔记,仅用于学习研究,感谢您的观看。

内容简介

  1. 引入外部样式表(CSS)
  2. 定义页面的图标(Favicon)
  3. 预加载资源
  4. 替代页面版本(如移动版和桌面版)
  5. 定义 RSS 或 Atom 订阅源

引入外部样式表(CSS)

  • 用途:这是<link>标签最常见的用法。通过它可以将外部的 CSS 文件链接到 HTML 文档中,从而实现对网页的样式设置,包括字体、颜色、布局、边距等方面的样式控制,使网页具有统一且美观的外观。
  • 示例:
<link rel="stylesheet" href="styles.css">

  • 上述代码中,rel="stylesheet"表示链接的是一个样式表,href="styles.css"指定了外部 CSS 文件的路径和文件名。这样,浏览器在加载 HTML 页面时,会根据styles.css中的规则来渲染页面元素。
  • 真示例:
  • 完成此示例需要满足以下条件:首先要准备两个文件,一个是html文件,另一个是css文件,并确保两个文件在统一目录下,而且href="styles.css"所指定的文件名必须相同,若因为href="styles.css"中文件的名字不对应,就会造成示例失败的原因。
  • css文件代码内容:
body {
  font-family: Arial, sans-serif;
  background-color: lightblue;
}

h1 {
  color: red;
  text-align: center;
}

p {
  font-size: 18px;
  line-height: 1.5;
}
  • html文件代码内容:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS 样式应用示例</title>
    <!-- 引入外部 CSS 样式表 -->
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <h1>这是一个标题</h1>
  <p>这是一段文本内容,将受到 styles.css 中样式的影响。</p>
</body>
</html>
  • 一气呵成


定义页面的图标(Favicon)

  • 用途:用于设置网页在浏览器标签页、书签栏等位置显示的小图标,增强网站的品牌辨识度和用户体验。
  • 示例:
<link rel="shortcut icon" href="favicon.ico">

  • 这里rel="shortcut icon"表示这是一个快捷方式图标,href="favicon.ico"指定了图标文件的路径和文件名(通常为.ico格式,也可以是其他支持的格式如.png等)。

  • 真示例1:
  • 首先准备两个文件,一个是ico的图片文件,或者是png的图片文件,另一个是html的文件,并确保ico文件或png文件要与html文件在同一个目录下,否则不会生效。
  • 这是博主的ico文件,名字叫IDA.ico(若您没有ico文件,您也可以准备一张png文件)由于这里不支持上传ico图片文件,博主只好截图上传。

  • 这是html文件代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="shortcut icon" href="IDA.ico">
    <title>带有图标示例的网页</title>
</head>
<body>
    <h1>这是一个带有自定义图标的网页</h1>
</body>
</html>
  • 这里的<link rel="shortcut icon" href="IDA.ico">告诉浏览器,该网页的图标文件是IDA.ico。当用户在浏览器中访问这个网页时,浏览器会在标签页的标题左侧显示这个图标。
  • 一气呵成


  •  真示例2:
  • 考虑不同浏览器兼容性的示例
  • 考虑不同浏览器对ico图片文件的兼容性问题。若ico不起作用,则自动换成png,准备两张图片文件,一是ico另一个是png,在准备html代码。就可以解决浏览器兼容性问题了。
  • 以下是代码html(由于现在的浏览器兼容性很强,这个可以不考虑)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>带有图标示例的网页(兼容多种格式)</title>
    <link rel="icon" type="image/x - icon" href="IDA.ico">
    <link rel="shortcut icon" href="IDA.ico">
    <link rel="icon" type="image/png" href="favicon.png">
</head>
<body>
    <h1>这是一个带有自定义图标的网页</h1>
</body>
</html>

  • 真示例3:
  • 动态设置图标的示例(通过 JavaScript)
  • 动态切换图片,需要准备两张图片文件,一个html代码文件,并确保三者于同一目录下。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>带有动态图标示例的网页</title>
    <link id="faviconLink" rel="shortcut icon" href="IDA.ico">
</head>
<body>
    <button onclick="toggleFavicon()">切换图标</button>
    <script>
        function toggleFavicon() {
            const faviconLink = document.getElementById('faviconLink');
            const currentHref = faviconLink.href;
            if (currentHref.includes('IDA.ico')) {
                faviconLink.href = 'favicon.png';
            } else {
                faviconLink.href = 'IDA.ico';
            }
        }
    </script>
</body>
</html>
  •  一气呵成


预加载资源

  • 用途:可以指示浏览器预先加载某些资源,如 CSS 文件、JavaScript 文件、图片等,以便在需要时能够更快地加载和显示,提高页面性能。
  • 示例:
<link rel="preload" href="image.jpg" as="image">

  • 在这个例子中,rel="preload"表示预加载,href="image.jpg"指定要预加载的资源路径,as="image"告诉浏览器预加载的是图片资源,这样浏览器可以提前进行一些优化处理,如缓存等。

  • 真示例1:
  • 简单页面中的图片预加载
  • 准备一张叫favicon的图片,需放在与html文件同目录 。
  • html代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="preload" href="favicon.png" as="image">
    <title>图片预加载示例</title>
</head>
<body>
     <h1>这是一个图片预加载的示例</h1>
    <img src="favicon.png" alt="示例图片">
</body>
</html>

  • 真示例2:
  • 多个资源预加载示例:包含图片和 CSS 文件
  • 需要CSS和HTML还有两张图片,一张作为背景,一张作为加载图片
  • css代码
body {
    background-color: lightblue;
    background-image: url(Ikun.png);
    background-repeat: no-repeat;
    background-size: cover;
}
  • html代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link rel="preload" href="favicon.png" as="image">
    <link rel="preload" href="styless.css" as="style">
    <link rel="preload" href="Ikun.png" as="image">
    <link rel="stylesheet" href="styless.css">
    <title>多个资源预加载示例</title>
</head>
<body>
    <h1>这是一个多个资源预加载的示例</h1>
    <img src="favicon.png" alt="示例图片">
</body>
</html>

 真示例3:

JavaScript 与预加载结合的示例:根据条件加载资源

html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="preload" href="Ikun.png" as="image">
    <link rel="preload" href="favicon.png" as="image">
    <title>JavaScript与预加载结合示例</title>
</head>
<body>
    <h1>这是一个结合JavaScript的预加载示例</h1>
    <button onclick="showImage('Ikun.png')">显示图片1</button>
    <button onclick="showImage('favicon.png')">显示图片2</button>
    <div id="imageContainer"></div>
    <script>
        function showImage(imageSrc) {
            const imageContainer = document.getElementById('imageContainer');
            const img = document.createElement('img');
            img.src = imageSrc;
            imageContainer.appendChild(img);
        }
    </script>
</body>
</html>

 替代页面版本(如移动版和桌面版)

  • 用途:用于指定页面的不同版本,例如为移动设备提供专门的页面版本,当用户使用移动设备访问时,浏览器可以根据标签的设置加载对应的移动版页面,提供更好的用户体验。
  • 示例:
<link rel="alternate" media="only screen and (max-width: 640px)" href="mobile-page.html">

  • 上述代码中,rel="alternate"表示这是一个替代版本,media="only screen and (max-width: 640px)"指定了适用的媒体条件(这里是屏幕宽度小于等于 640px,通常针对移动设备),href="mobile-page.html"则是移动版页面的链接。当满足条件的设备访问时,会加载mobile-page.html页面。

  • 真示例1:
  • 需要准备两个HTML代码,一个是适合桌面版的HTML,一个是适合移动版的页面
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="alternate" media="only screen and (max - width: 640px)" href="link8-2.html">
    <title>桌面版页面</title>
</head>
<body>
    <h1>这是桌面版页面</h1>
    <p>这个页面在大屏幕设备(如桌面电脑)上显示。它可能包含更多的内容或者更复杂的布局。</p>
    <img src="Ikun.png" alt="桌面版图片">
</body>
</html>
  • 这里的<link>标签告诉浏览器,当设备屏幕宽度小于等于 640px 时,应该加载mobile - page.html这个移动版页面。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset = "UTF-8">
    <title>移动版页面</title>
</head>
<body>
    <h1>这是移动版页面</h1>
    <p>这个页面是为小屏幕设备(如手机)设计的,内容更简洁,布局更适合移动设备。</p>
    <img src="Ikun.png" alt="移动版图片">
</body>
</html>
  • 移动版页面的内容可以根据移动设备的特点进行设计,比如简化布局、调整字体大小等,以提供更好的用户体验。

                


定义 RSS 或 Atom 订阅源

  • 用途:如果网站提供了 RSS 或 Atom 格式的内容订阅源,通过标签可以告知用户和浏览器该订阅源的位置,方便用户订阅网站的更新内容。
  • 示例:
<link rel="alternate" type="application/rss+xml" href="rss.xml">

  • 其中,rel="alternate"表示这是一个替代内容,type="application/rss+xml"指定了内容类型为 RSS 格式,href="rss.xml"是 RSS 订阅源文件的路径和文件名。用户可以通过这个链接将网站添加到 RSS 阅读器中,获取网站的最新内容更新。

真示例:

该示例需要准备一个名字叫rss.xml的文件且有一个HTML文件,并且保证两个文件在同一个目录下就可以实现。

这是HTML文件代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!-- 引入 RSS 订阅源 -->
    <link rel="alternate" type="application/rss+xml" href="rss.xml">
    <title>我的网站</title>
</head>
<body>
    <h1>欢迎来到我的网站</h1>
    <p>这是一个包含 RSS 订阅源的网站。你可以通过 RSS 阅读器订阅我们的内容,获取最新的信息。</p>
    <p>点击 <a href="rss.xml">这里</a> 可以查看 RSS 订阅源文件。</p>
</body>
</html>

这是xml文件代码(名字改成rss.xml)

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>我的网站 - 最新消息</title>
    <link>https://www.example.com</link>
    <description>这里是我的网站的最新消息和更新。</description>
    <language>en</language>
    <item>
      <title>文章 1 标题</title>
      <link>https://www.example.com/article1</link>
      <pubDate>Tue, 13 Jan 2025 00:00:00 GMT</pubDate>
      <description>文章 1 的描述信息。</description>
    </item>
    <item>
      <title>文章 2 标题</title>
      <link>https://www.example.com/article2</link>
      <pubDate>Tue, 14 Jan 2025 00:00:00 GMT</pubDate>
      <description>文章 2 的描述信息。</description>
    </item>
    <!-- 更多的 <item> 元素可用于添加更多的文章 -->
  </channel>
</rss>

  • 总之,标签在 HTML 中<link>扮演着重要的角色,通过它可以实现多种功能,提升网页的外观、性能和用户体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/953211.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

宝塔面板 申请证书后 仍然提示不安全

证书显示有效&#xff0c;但是网站显示不安全 导致的原因是引入静态文件使用的是HTTP&#xff0c;查看方法为F12打开console控制台 可以看到静态文件全部都是HTTP 网站采用wordpress搭建&#xff0c;基于问题解决&#xff0c;其他方式搭建也是一样&#xff0c;处理掉所有的H…

Maven 中 scope=provided 和 optional=true 的区别

先说效果&#xff0c;maven依赖声明中加了<scope>provided</scope>&#xff0c;或者加了<optional>true</optional>&#xff0c;从效果上看是一样的&#xff0c;都会中断依赖传递&#xff0c;观察下图&#xff1a; 图中&#xff0c;项目B分别依赖了C和…

Linux标准IOday4

1:思维导图2: 创建2个子进程 父进程负责: 向文件中写入数据 2个子进程负责: 从文件中读取数据 要求: 一定保证1号子进程先读取&#xff0c;2号子进程后读取 使用文件IO去实现 #include <stdio.h>#include <string.h>#include <un…

Spring Boot教程之五十五:Spring Boot Kafka 消费者示例

Spring Boot Kafka 消费者示例 Spring Boot 是 Java 编程语言中最流行和使用最多的框架之一。它是一个基于微服务的框架&#xff0c;使用 Spring Boot 制作生产就绪的应用程序只需很少的时间。Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序&#xff0c;您可…

ColorGATE 23系列的RIP软件

ColorGATE 23系列的RIP软件。ColorGATE是全球领先的用于无化学胶片生产的RIP软件&#xff0c;以下是对其特点和功能的介绍&#xff1a; 应用领域 适用于柔版、胶版和丝网印刷等领域&#xff0c;利用喷墨打印机进行无化学胶片生产&#xff0c;可应用于高端品质的印刷。 核心技…

Type-C双屏显示器方案

在数字化时代&#xff0c;高效的信息处理和视觉体验已成为我们日常生活和工作的关键需求。随着科技的进步&#xff0c;一款结合了便携性和高效视觉输出的设备——双屏便携屏&#xff0c;逐渐崭露头角&#xff0c;成为追求高效工作和娱乐体验人群的新宠。本文将深入探讨双屏便携…

51单片机 DS18B20温度储传感器

DS18B20温度传感器 64-BITROM&#xff1a;作为器件地址&#xff0c;用于总线通信的寻址&#xff0c;是唯一的&#xff0c;不可更改 SCRATCHPAD&#xff08;暂存器&#xff09;&#xff1a;用于总线的数据交互 EEPROM&#xff1a;用于保存温度触发阈值和配置参数 暂存器 单总线…

对话新晋 Apache SeaTunnel Committer:张圣航的开源之路与技术洞察

近日&#xff0c;张圣航被推选为 Apache SeaTunnel 的 Committer成员。带着对技术的热情和社区的责任&#xff0c;他将如何跟随 Apache SeaTunnel 社区迈向新的高度&#xff1f;让我们一起来聆听他的故事。 自我介绍 请您简单介绍一下自己&#xff0c;包括职业背景、当前的工作…

Linux渗透实战之Hackademic: RTB1靶场提权

0x1 前言 一、浅谈 哈喽师傅们&#xff0c;这次又到了给师傅们分享文章的时候了&#xff0c;这篇文章呢主要是给师傅们以vulnhub中的Hackademic: RTB1靶场&#xff0c;开始使用nmap进行相关渗透测试的操作&#xff0c;端口、目录扫描&#xff0c;得到一个静态的html页面&…

SpringBoot-Day1

1.Springboot入门 创建Maven工程 导入spring-boot-stater-web起步依赖 编写Controller 提供启动类 2.yml配置信息书写与获取 书写 # 发件人信息 email:user: 172349823457qq.comcode: sajdajlwhjfgfkllwhost: smtp.qq.comauth: true ​ # 学生爱好 hobbies:- 打篮球- 踢…

基于扩频解扩+汉明编译码+交织的lora通信系统matlab性能仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

针对服务器磁盘爆满,MySql数据库始终无法启动,怎么解决

&#xff08;点击即可进入聊天助手&#xff09; 很多站长在运营网站的过程当中都会遇到一个问题,就是网站突然无法打开,数据一直无法启动 无论是强制重启还是,删除网站内的所有应用,数据库一直无法启动 这个时候,就需要常见的运维手段了,需要对服务器后台各个资源,进行逐一排查…

LeetCode1170 比较字符串最小字母出现频次

字符串算法探秘&#xff1a;最小字母频次统计与比较问题剖析 在编程的世界里&#xff0c;字符串处理问题犹如繁星般繁多且各具特色。今天&#xff0c;我们聚焦于一道饶有趣味的题目&#xff0c;它涉及到对字符串中最小字母出现频次的统计以及基于此的比较操作。这道题不仅考验…

Kafka 分区管理

分区是主题的子集&#xff0c;每个主题可以被分割成多个分区&#xff0c;一个分区有一个主副本&#xff08;Leader&#xff09;及一个或多个从&#xff08;Follower&#xff09;副本。分区允许将数据分布在多个broker上&#xff0c;这样可以提高数据的处理能力、并行性及可靠性…

xcrun: error: invalid active developer path 解决

在拉取 github 代码时&#xff0c;提示如下报错&#xff1a; xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 原因是&#xff1a;这是由于 Xcode command line t…

2025华数杯国际赛A题完整论文讲解(含每一问python代码+数据+可视化图)

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2025“华数杯”国际大学生数学建模竞赛A题Can He Swim Faster的完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文…

Python 二次元初音未来桌宠

标题 相关资源文件已经打包成EXE文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Python相关程序案例&#xff0c;秉着开源精神的想法&#xff0c;望大家喜欢&#xff0c;点个关注不迷路&…

vue3学习日记5 - 项目起步

最近发现职场前端用的框架大多为vue&#xff0c;所以最近也跟着黑马程序员vue3的课程进行学习&#xff0c;以下是我的学习记录 视频网址&#xff1a; Day2-11.项目起步-静态资源引入和ErrorLen安装_哔哩哔哩_bilibili 学习日记&#xff1a; vue3学习日记1 - 环境搭建-CSDN博…

【Linux系统】—— vim 的使用

【Linux系统】—— vim 的使用 1 vim 的基本概念2 vim 的多模式3 命令模式下的命令集3.1 进入/退出其他模式3.2 光标移动命令集3.3 复制/剪切/粘贴/删除命令集3.4 撤销命令集3.5 查找命令集3.6 替换命令集3.7 进入与退出替换模式 4 批量化编译5 底行模式6 vim 小技巧7 vim简单配…

JAVA实战开源项目:课程智能组卷系统(Vue+SpringBoot) 附源码

本文项目编号 T 009 &#xff0c;文末自助获取源码 \color{red}{T009&#xff0c;文末自助获取源码} T009&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 老…