当前位置: 首页 > news >正文

【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标签

这个标签主要有下面三个作用:

  1. 定义不同文档的标题
  2. 显示在搜索引擎结果页面的标题
  3. 添加书签时,默认的标题

所谓文档标题,就是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-88位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入门icon-default.png?t=O83Ahttp://t.csdnimg.cn/It2Ww

后话

在全栈领域,博主也只不过是一个普通的萌新而已。本系列的博客主要是记录一下自己学习的一些经历,然后把自己领悟到的一些东西总结一下,分享给大家。

文章全篇的操作过程都是笔者亲自操作完成的,一些定义性的文字加入了笔者自己的很多理解在里面,所以仅供参考。如果有说的不对的地方,还请谅解。

==期待与你在下一期博客中再次相遇==

——勉强还有点氧气的【H2O2】

相关文章:

【H2O2|全栈】更多关于HTML(1)HTML进阶(一)

目录 HTML进阶知识 前言 准备工作 标签的扩展&#xff08;一&#xff09; 本文中的标签在什么位置使用&#xff1f; title标签 meta标签 name viewport referrer http-equiv charset content link标签 实际案例 可视部分 代码分析 其他标签 base标签 styl…...

新160个crackme - 053-devilz KeyGen me#3

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

ORA-12514

第一步&#xff0c;去这个地址&#xff0c;查查你的服务名是否存在 第二步&#xff0c;没查到就是你服务名写错了&#xff0c;查到了就退出我的解答...

MyBatis-PlusDruid数据源

MyBatis-Plus简介 MyBatis-Plus&#xff08;简称MP&#xff09;是一个MyBatis的增强工具&#xff0c;它在MyBatis的基础上进行了增强而不改变其原有的功能&#xff0c;旨在简化开发、提高效率。以下是对MyBatis-Plus的详细简介&#xff1a; 一、基本概述 定义&#xff1a;MyBat…...

C#中chart绘制曲线

官网资料&#xff1a;Chart 类 (System.Windows.Forms.DataVisualization.Charting) | Microsoft Learn 类的 Chart 两个重要属性是 Series 和 ChartAreas 属性&#xff0c;这两个属性都是集合属性。 Series集合属性存储Series对象&#xff0c;这些对象用于存储要显示的数据以…...

c++数据结构算法题讲解

那么从本期文章开始&#xff0c;会尽量带大家一起刷题 第一题 题目 关键词 思路 源代码 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. 帧率&#xff08;FPS&#xff09;计算 8. 结果显示与退出 9. 资源释放 整体代码 效果展示 总结 代码分析 这段代码使用 YOLO&#xff08…...

Worse is Better

Worse is Better是UNIX的设计哲学&#xff0c;通俗来说&#xff0c;就是&#xff1a;保持接口与实现的简单性&#xff0c;比系统的任何其他属性&#xff0c;包括准确性、一致性和完整性&#xff0c;都来得更加重要 设计系统时&#xff0c;接口和实现的简单性是至关重要的。这种…...

Python Web 框架篇:Flask、Django、FastAPI介绍及其核心技术

Python Web 框架篇&#xff1a;Flask、Django、FastAPI介绍及其核心技术 目录 &#x1f40d; Flask Flask 核心概念&#xff08;路由、视图函数、模板渲染&#xff09;Flask Blueprint 模块化应用Flask 扩展&#xff08;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. 处…...

平台开发到落地详解:从食堂采购系统源码到可视化供应链管理数据大屏

随着数字化转型的加速&#xff0c;越来越多的企业和组织开始重视供应链的智能化与可视化管理。在食堂采购领域&#xff0c;供应链管理的复杂性与日俱增&#xff0c;而传统的手工操作往往效率低下、容易出错。因此&#xff0c;开发食堂采购系统并结合可视化数据大屏的解决方案&a…...

静态内部类

目录 一、什么是静态内部类二、静态内部类的意义 一、什么是静态内部类 在 Java 中&#xff0c;静态内部类&#xff08;也称为静态嵌套类&#xff09;是定义在一个类内部的类&#xff0c;但它与外部类没有关联&#xff0c;即它不持有外部类的引用。静态内部类可以访问外部类的…...

Vue+SpringBoot+数据库整体开发流程 1

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

百度Apollo打通与ROS的通信,扩展自动驾驶系统生态

技术文档&#xff5c;打通与ROS的通信&#xff0c;扩展自动驾驶系统生态_Apollo开发者社区 (baidu.com)...

Web3 项目安全手册

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

AI边缘计算在安防领域的智能化革新:赋能安防系统的智能化升级

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

vscode配置C/C++环境(保姆级详细教程)

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

MDK keil STM32 局部变量不能查看值,显示为not in scope

用MDK调试程序&#xff0c;查看变量时watch窗口总是和 一、方法1&#xff1a;优化级别改为Level 0 1 编译器把这个局部变量给优化掉了&#xff0c;并没有在内存中生成&#xff0c;把优化级别改为Level 0&#xff0c;重新编译。 Keil默认优化是等级3&#xff0c;最高优化&…...

表连接查询之两个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…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

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

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...