【H2O2|全栈】更多关于HTML(1)HTML进阶(一)
目录
HTML进阶知识
前言
准备工作
标签的扩展(一)
本文中的标签在什么位置使用?
title标签
meta标签
name
viewport
referrer
http-equiv
charset
content
link标签
实际案例
可视部分
代码分析
其他标签
base标签
style标签
script标签
noscript
预告和回顾
后话
HTML进阶知识
前言
本系列博客是对入门专栏的HTML知识的补充,并伴随一些补充案例。
这一期主要介绍位置在HTML文档头部里的内容。
不是专业的科普博主,文笔不好,多多包涵(嘿嘿)。
准备工作
软件:【参考版本】Visual Studio Code
插件(扩展包):Office Viewer(Markdown Editor)
浏览器版本:Chrome
系统版本: Win10/11/其他非Windows版本
*我的电脑是Win10的版本,仅供参考*
标签的扩展(一)
本文中的标签在什么位置使用?
本文中我们需要掌握的,是写在头部标签(head)中的各种标签。
title标签
这个标签主要有下面三个作用:
- 定义不同文档的标题
- 显示在搜索引擎结果页面的标题
- 添加书签时,默认的标题
所谓文档标题,就是HTML头部标签中的标题,也就是类似下面这一部分:
搜索引擎搜索后,出现的具体页面就是结果页面。结果页面标题的位置类似下面这样:
书签一般来说就是我们浏览器的默认收藏夹,在下面这个位置:
添加书签时,以添加示例网页为例,可以显示如下内容,其中的默认名称就是title的内容:
meta标签
meta标签描述了一些基本的元数据,为单标签。
元数据不显示在页面上,但会被浏览器解析,通常用于指定网页的描述,关键词,文件的最后修改时间,作者,和其他元数据。
元数据可以使用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他Web服务。
meta标签常见的属性如下:
属性名 | 值 |
---|---|
name | 元数据类型 |
http-equiv | 响应内容 |
charset | 解析字符集类型 |
content | 具体内容 |
下面将较为详细的介绍各个属性及其对应的值,说的不一定全,见谅。
name
用于设置一些预设的内容。这里主要介绍几个常见的name属性值,在下面这个表格里:
属性值 | 含义 |
---|---|
keywords | 搜索引擎关键词 |
description | 定义网页描述内容 |
author | 定义网页作者 |
viewport | 窗口适配屏幕 |
referrer | 指示链接来源 |
这些属性值我会在案例中讲到,这里需要提前知道下面的这些知识点:
viewport
当页面的宽度(默认布局窗口)超出了屏幕的窗口大小(理想视图窗口),我们需要将这个大小调节到适应我们屏幕的大小。
标准的viewport设置的属性值有六个,我们来分别解释一下每一个值的意思:
width:控制viewport的宽度。“device-width”,意思是设置视口宽度为设备宽度。
height:控制viewport的高度。“device-height”,意思是设置视口高度为设备高度。
initial-scale:定义初始缩放比例,即每次加载该页面时缩放的比例。一般值为1,即默认不缩放显示。
maximum-scale:允许用户缩放到的最大缩放比例。
minimum-scale:允许用户缩放到的最小缩放比例。
user-scaleable:是否允许用户缩放,可以传“yes”或“no” 。
referrer
用于指示当前请求的来源页面。当用户通过点击链接从一个网页跳转到另一个网页时,浏览器会在响应头中包含这个字段,告诉服务器该请求是从哪个页面链接过来的。
这个访问信息被记录,可以方便网站统计链接的浏览量数据、日志数据等,便于网站的维护和管理。
同时,对于外部链接联系服务器内部,referrer字段也会进行阻止或询问,提高了安全性。
http-equiv
又叫http响应头、http文件头。当浏览器请求某个文件时,首先会加载此响应头内的设置。
这里主要介绍几个常见的http-equiv属性值:
属性值 | 含义 |
---|---|
refresh | 网页刷新时间间隔 |
content-type | 网页内容类型 |
charset
声明网页解析字符串类型。常见的网页类型如下:
属性值 | 含义 |
---|---|
utf-8 | 8位Unicode编码(常用,兼容性强) |
GBK | 中文字符集编码(注意兼容性) |
content
定义对应meta数据的具体内容。
link标签
link标签为我们的网页引入一些资源,为单标签。
比如,我们的网页三层结构里的表现层(CSS),即样式表,如果我们的样式表被封装为一个单独的CSS文件,就需要用link标签,以资源的方式引入。
或者换一个更简单的例子(考虑到不一定学了CSS?),比如我们的网页标题边上,有一个小图标,它也是使用link标签引入的资源。
link标签常见的属性有下面这些:
属性名 | 值 |
---|---|
rel | 定义当前文档与被链接文档的关系 |
href | 定义链接文档的位置 |
type | 规定被链接文档的类型 |
关于rel,目前记住下面两个就差不多了:
值 | 含义 | 对应type值 |
---|---|---|
stylesheet | 引入外部样式表资源 | 可暂时不写 |
shortcut icon | 网页小图标 | image/x-icon |
实际案例
可视部分
我们以CSDN的网站为例,先说我们可以看到的部分吧。
浏览器里搜索CSDN字样,在出现的搜索条目中,可以看见下面这个界面:
看到最上面的 CSDN - 专业开发者社区 的字样了吗? 点进详情页,可以看到它与在浏览器上方的网页标题的内容是相同的。说明这个部分是网页的标题。
接下来是灰色的小字“CSDN是全球知名......”,这个部分就是网页的描述内容,即description的内容。
代码分析
接下来就要进入代码中查看了,使用快捷键F12快速查看搜索界面网页源代码,可以看到这一段代码:
<title>CSDN - 专业开发者社区</title>
这里也就是我们说的网页标题。
<meta name="keywords" content="CSDN博客,CSDN学院,CSDN论坛,CSDN直播">
content中的内容,就是我们得以搜索到CSDN网页的关键词。
下一段代码是:
<meta name="description" content="CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客、精品问答、职业培训、技术论坛、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区.">
content中的内容,就是我们此前看到的灰色小字,即网页内容的描述,类似简介。
下一段代码是:
<meta http-equiv="content-type" content="text/html;charset=utf-8">
响应头里定义了网页的内容文本类型,并规定了对应的编码类型(utf-8)。
下一段代码是:
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
像CSDN这里并没有指定宽和高,则initial-scale会让视图默认铺满屏幕,适应理想窗口大小。
关于理想窗口大小,这里就不拓展了,感兴趣的可以自己搜搜看。
最后的minimal-ui是一种UI设计的框架,暂时不做拓展。它是应用在移动端APP上的,让界面UI更加美观。
接着看下面一行代码:
<meta name="referrer" content="always">
比如,如果我们在博客里点击任意链接,那么设置了该字段的网站就会为服务器提示页面的地址信息等。
中间跳过一些JS的内容,来看到下面这行代码:
<link rel="shortcut icon" href="https://g.csdnimg.cn/static/logo/favicon32.ico" type="image/x-icon">
还记得网页的标题吗?这里表示的是标题边上的小图标。
其他标签
以下标签暂时只做了解,对于其中的某些标签,在学习到对应阶段的时候会说的,目前不需要了解那么透彻。
base标签
该标签的作用是为页面上的所有链接规定的默认地址或默认目标。
一个HTML中最多使用一个<base>标签,当用多个<base>标签定义了超文本引用路径时,默认使用第一个base中的路径。
比如下面这个锚链接,实现打开我的头像的效果。常规的代码如下:
<a href="https://profile-avatar.csdnimg.cn/4b2a87ef8c5d4789a6b8fb88457350a2_zc13786305863.jpg!1">H2O2的头</a>
现在,有了base标签,base标签中指定的默认路径如下:
<base href="https://profile-avatar.csdnimg.cn/4b2a87ef8c5d4789a6b8fb88457350a2_zc13786305863.jpg!1">
那么,即使我们的锚链接的href中不指定url,也可以实现相同的打开效果。即下面这样:
<a href="">H2O2的头<a/>
style标签
style标签用于定义网页的样式,即CSS样式。
CSS样式的定义方式有三种,分别是标签内定义的行内(内联)样式、link标签引入的CSS文件外部样式表和使用style标签在头部区域定义的内部样式表。
具体内容会在CSS入门系列中分享。
script标签
该标签通常用于定义客户端的脚本文件,即内部嵌入JavaScript(JS)代码。
js的内容也可以使用外部js文件,利用link标签引入,具体内容会在JS入门系列中分享。
noscript
noscript标签用于当浏览器不支持脚本语言时,替换的内容。
比如,现在我有这样一个弹窗文字代码:
<script>window.onload=function(){alert('示例弹窗');}</script>
在示例网页中加载,效果如下:
由于我们使用的是Chrome浏览器,所以可以使用设置来禁用JavaScript。只需要在浏览器地址栏里输入下面的地址,就可以找到启用和禁用JS的选项:
chrome://settings/content/javascript
禁用后,首先添加下面的noscript代码:
<noscript><h1>不弹窗了,弹不了一点</h1></noscript>
然后就可以在浏览器中看到,原本的弹窗行为不见了,取而代之的是noscript中的内容:
*设置试完记得改回来!!!*
预告和回顾
HTML入门阶段的博客点赞、收藏和阅读量都比较可观,这一点还是很不错的,这将是我不断更新的动力源泉。
不过HTML进阶篇的更新可能比较随性了,最近在更新CSS入门系列的博客。
对HTML基础掌握不熟悉的朋友,也可以看看我已经完结的HTML入门系列文章,希望能对你有所帮助:
专栏 | HTML入门http://t.csdnimg.cn/It2Ww
后话
在全栈领域,博主也只不过是一个普通的萌新而已。本系列的博客主要是记录一下自己学习的一些经历,然后把自己领悟到的一些东西总结一下,分享给大家。
文章全篇的操作过程都是笔者亲自操作完成的,一些定义性的文字加入了笔者自己的很多理解在里面,所以仅供参考。如果有说的不对的地方,还请谅解。
==期待与你在下一期博客中再次相遇==
——勉强还有点氧气的【H2O2】
相关文章:

【H2O2|全栈】更多关于HTML(1)HTML进阶(一)
目录 HTML进阶知识 前言 准备工作 标签的扩展(一) 本文中的标签在什么位置使用? title标签 meta标签 name viewport referrer http-equiv charset content link标签 实际案例 可视部分 代码分析 其他标签 base标签 styl…...

新160个crackme - 053-devilz KeyGen me#3
运行分析 解压出来4个文件运行程序发现要破解Name和Serial PE分析 32位,petite壳 手动脱壳 使用windows XP虚拟机OD打开程序按2下F8,发现ESP变红,根据ESP定律,在该地址右键 -> HW break下断点 继续按2下F9,来到灰色…...

ORA-12514
第一步,去这个地址,查查你的服务名是否存在 第二步,没查到就是你服务名写错了,查到了就退出我的解答...
MyBatis-PlusDruid数据源
MyBatis-Plus简介 MyBatis-Plus(简称MP)是一个MyBatis的增强工具,它在MyBatis的基础上进行了增强而不改变其原有的功能,旨在简化开发、提高效率。以下是对MyBatis-Plus的详细简介: 一、基本概述 定义:MyBat…...

C#中chart绘制曲线
官网资料:Chart 类 (System.Windows.Forms.DataVisualization.Charting) | Microsoft Learn 类的 Chart 两个重要属性是 Series 和 ChartAreas 属性,这两个属性都是集合属性。 Series集合属性存储Series对象,这些对象用于存储要显示的数据以…...

c++数据结构算法题讲解
那么从本期文章开始,会尽量带大家一起刷题 第一题 题目 关键词 思路 源代码 class MinStack { public: void push(int val) { _st.push(val); if(_minst.empty() || val < _minst.top()) { _minst.push(val); } } void pop() { if(_st.top() _minst.top()) {…...
间隙锁在其他数据库管理系统中的类似实现
间隙锁在其他数据库管理系统中的类似实现 一、引言 在 MySQL 中,间隙锁在可重复读事务隔离级别下起到了防止幻读的重要作用。那么在其他数据库管理系统中,是否也有类似的机制来实现类似的功能呢?了解其他数据库管理系统中与间隙锁类似的实现,可以帮助我们更好地理解不同数…...

OpenCV 与 YoloV3的结合使用:目标实时跟踪
目录 代码分析 1. YOLO 模型加载 2. 视频加载与初始化 3. 视频帧处理 4. 物体检测 5. 处理检测结果 6. 边界框和类别显示 7. 帧率(FPS)计算 8. 结果显示与退出 9. 资源释放 整体代码 效果展示 总结 代码分析 这段代码使用 YOLO(…...
Worse is Better
Worse is Better是UNIX的设计哲学,通俗来说,就是:保持接口与实现的简单性,比系统的任何其他属性,包括准确性、一致性和完整性,都来得更加重要 设计系统时,接口和实现的简单性是至关重要的。这种…...
Python Web 框架篇:Flask、Django、FastAPI介绍及其核心技术
Python Web 框架篇:Flask、Django、FastAPI介绍及其核心技术 目录 🐍 Flask Flask 核心概念(路由、视图函数、模板渲染)Flask Blueprint 模块化应用Flask 扩展(Flask-SQLAlchemy、Flask-WTF、Flask-Migrate 等&#…...

【Qt网络编程基础】Tcp服务器和客户端(只支持一对一)
目录 一、编写思路 1、服务器 总体思路 详细思路 1. 构造函数 (Widget::Widget) 2. 启动监听 (Widget::on_btn_start_clicked) 3. 停止监听 (Widget::on_btn_cease_clicked) 4. 发送消息 (Widget::on_btn_info_clicked) 5. 接收消息 (Widget::receive_message) 6. 处…...

平台开发到落地详解:从食堂采购系统源码到可视化供应链管理数据大屏
随着数字化转型的加速,越来越多的企业和组织开始重视供应链的智能化与可视化管理。在食堂采购领域,供应链管理的复杂性与日俱增,而传统的手工操作往往效率低下、容易出错。因此,开发食堂采购系统并结合可视化数据大屏的解决方案&a…...
静态内部类
目录 一、什么是静态内部类二、静态内部类的意义 一、什么是静态内部类 在 Java 中,静态内部类(也称为静态嵌套类)是定义在一个类内部的类,但它与外部类没有关联,即它不持有外部类的引用。静态内部类可以访问外部类的…...

Vue+SpringBoot+数据库整体开发流程 1
本篇文章通过springboot整合mybatis-plus去实现后端对数据库的增删改查,以及响应给前端的url,让前端获得数据。 目录 一、简单搭建一个Vue项目 检查node.js版本 使用vue-cli创建空项目 Vue-cli工程中每个文件夹和文件的用处 二、Mysql数据库 创建数…...

百度Apollo打通与ROS的通信,扩展自动驾驶系统生态
技术文档|打通与ROS的通信,扩展自动驾驶系统生态_Apollo开发者社区 (baidu.com)...

Web3 项目安全手册
现如今针对 Web3 项目的攻击手法层出不穷,且项目之间的交互也越发复杂,在各个项目之间的交互经常会引入新的安全问题,而大部分 Web3 项目研发团队普遍缺少的一线的安全攻防经验,并且在进行 Web3 项目研发的时候,重点关…...

AI边缘计算在安防领域的智能化革新:赋能安防系统的智能化升级
随着人工智能(AI)和边缘计算技术的快速发展,两者在安防视频领域的应用日益广泛,为传统安防系统带来了革命性的变革。AI边缘计算技术通过将AI算法和模型部署在边缘设备上,实现了数据处理和智能决策的即时响应࿰…...

vscode配置C/C++环境(保姆级详细教程)
一. 引言 VSCode,全称为Visual Studio Code,是一款由微软开发的免费、开源的轻量级代码编辑器,它支持多种编程语言和平台,并提供丰富的扩展功能,让开发者能够更高效地编写代码。 大家能来搜用如何在VSCode配置C/C环境…...

MDK keil STM32 局部变量不能查看值,显示为not in scope
用MDK调试程序,查看变量时watch窗口总是和 一、方法1:优化级别改为Level 0 1 编译器把这个局部变量给优化掉了,并没有在内存中生成,把优化级别改为Level 0,重新编译。 Keil默认优化是等级3,最高优化&…...

表连接查询之两个left join与递归SQL
一、如下SQL1 SELECT i.*,su1.name as createName,su2.name as updateNameFROM information ileft join sys_user su1 on su1.idi.create_idleft join sys_user su2 on su2.idi.update_id 二、分析 1、SELECT i.*,su.name as createName,sua.name as updateName FROM informati…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...