重识html

news2024/11/29 20:59:10

html

重识html

万维网用url统一资源定位符标识分布因特网上的各种文档

各种概念

URL:

统一资源定位器 它是WWW的统一资源定位标志,就是指网络地址

在WWW上,每一信息资源都有统一的且在网上唯一的地址

网页:

    由文字 图片 视频 音乐各种元素排列组合而成的超文本页面

常用浏览器:

  • Chrome

  • Edge

  • Firefox

HTML:

    超文本标记语言 非编程语言

HTML 属性:

HTML属性是在元素的开始标记中使用的关键字,用于控制元素的行为

浏览器内核:

    用于渲染网页

浏览器内核备注
IETridentIE
firefoxGecko可惜这几年已经没落了,打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。
Safariwebkit现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 了)。苹果感觉像被别人抢了媳妇,都哭晕在厕所里面了。
chromeChromium/Blink在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。Blink 其实是 WebKit 的分支。大部分国产浏览器最新版都采用Blink内核。二次开发
Operablink现在跟随chrome用blink内核。

web标准

有W3C(万维网)组织及组织制定

防止因为不同厂家的浏览器而让网页出现不同的表现

组成:

结构 -> HTML

表现 -> CSS

行为 -> JavaScript

单位

高度

vh vh单位代表视口高度,相对于视口高度的1%。

格式

缩进 空格比父标签缩进两格

元数据

Viewport

HTML meta viewport属性说明(mark) - 穆乙 - 博客园 (cnblogs.com)

什么是Viewport

手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。移动版的 Safari 浏览器最新引进了 viewport 这个 meta tag,让网页开发者来控制 viewport 的大小和缩放,其他手机浏览器也基本支持。

Viewport 基础

一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:

width:控制 viewport 的大小,可以指定的一个值,如果 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。
height:和 width 相对应,指定高度。
initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。
maximum-scale:允许用户缩放到的最大比例。
minimum-scale:允许用户缩放到的最小比例。
user-scalable:用户是否可以手动缩放

标签

HTML 超文本标记语言 用什么标记

😏 标签 :)

标签通常是闭合的 标签内包含文本

例如

<h1>h1标题</h1>

全局属性

id 用于标识一个元素 一个页面需唯一

class | 类

使用类可以标识一类表现一致的元素 用于css中选择

.class { }

多个 class 用空格隔开

<div class="class1 class2"></div>

结构标签

html的结构组成如下:

<!-- 这个特殊字符串被称为声明,它确保浏览器尝试满足行业规范 -->
<!DOCTYPE html>
<html>
<head>
    <title>网页标题-显示在浏览器上</title>
</head>
<body>

</body>
</html>

html | 容器

标签告知浏览器这是一个 HTML 文档。 标签是 HTML 文档中最外层的元素。 标签是所有其他 HTML 元素(除了 [](https://www.runoob.com/tags/tag-doctype.html) 标签)的容器

body | 网页内容/主体

head | 网页设置

放置设置网页重要的设置 或者引入其他资源包括 css js

元数据(metadata content包括: base,link,meta,noscript,style,script,title等

title | 网页标题
meta | 浏览器行为
<meta charset="UTF-8">

>:外部资源链接元素 - HTML(超文本标记语言) | MDN (mozilla.org)

HTML 外部资源链接元素 (<link>) 规定了当前文档与外部资源的关系。该元素最常用于链接样式表,此外也可以被用来创建站点图标 (比如 PC 端的“favicon”图标和移动设备上用以显示在主屏幕的图标)

栗子

<link href="/media/examples/link-element-example.css" rel="stylesheet">

rel 表示与html的关系 样式表用 stylesheet

href 表示资源的URL链接地址

h1 - h6 | 标题

h1 -> h6 六个标题标签 数字越大级别越低 字体越小

每一个网页只用一个 h1 标签

div | 页面布局

p | 文本一段

p 标签用于创建一段文本

<!-- --> | 注释

<!-- --> 注释不会影响页面布局

<!--
🤣 这是一段有感情的注释
-->

img | 图片

没有必要使用结束标签

没有结束标记的元素的标记称为自结束标记

属性

属性作用
src图片源
alt图片加载失败提示文字 ✨推荐加上

a | 链接

链接到其他网页 网址

闭合标签 标签内的文本展示链接的提示信息

属性

属性作用
href链接地址
target{_blank-打开一个新网页, }

锚伪类

在支持 css 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态已被访问状态未被访问状态和鼠标悬停状态。用来表示链接不同状态的伪类就是锚伪类。

a:link {color: green;} /* 未访问的链接 */
a:visited {color: blue;} /* 已访问的链接 */
a:hover {color:orange;} /* 鼠标移动到链接上 */
a:active {color: yellow;} /* 选定的链接 */
  • 几个伪类必须按照一定的顺序(l-v-h-a),a:hover必须被置于a:link和a:visited之后,才是有效的;a:active必须被置于a:hover之后,才是有效的。
  • 书写顺序很重要:a:link - a:visited - a:hover - a:actived。

form | 表单

表单 用于收集用户信息

属性

action 提交表单的URL

method URL请求通过什么方式请求

    get | 查询

    post | 修改

    delete | 删除

input | 收集数据

属性

有多种类型在表单中收集数据

包括 密码 文件 重置按钮

name 属性用于表单提交时区别不同的表单项

placeholder 输入提示信息

required 要求用户录入信息

type radio单选

minlength | 限制输入长度

pattern | 正则表达式限制输入格式

type

指定表单元素的type属性对于浏览器了解它应该期望的数据类型非常重要。如果未指定类型,浏览器将默认为text

单选

radio 单选 name属性相同 实现单选效果

value 保证传给后台有值

checked 默认选中

label | 单选按钮与对应文本享受同一个点击

方式1 将 input 与文本放在同一个 label 中

<label><input id="indoor" type="radio" name="indoor-outdoor" value="indoor"> Indoor</label>

方式2 使用 label 的 for 属性

<label for="loving">Loving</label>
多选

checkbox

🎯name加上 后台才知道这是哪个字段

推荐加上value

checked 默认选中

textarea | 多行文本

<textarea id="bio" rows="3" cols="30" placeholder="I like coding on the beach..."></textarea>

placeholder 提示用户输入内容 直到用户输入 才会消失

button | 按钮

默认行为: 提交form表单到action

按钮要提交表单 最好还是加上 type = "submit"

<button type="submit">Submit</button>

fieldset | 结合输入与文本

元用于对表单中的控制元素进行分组(也包括 label 元素)

<form>
  <fieldset>
    <legend>Choose your favorite monster</legend>

    <input type="radio" id="kraken" name="monster" value="K">
    <label for="kraken">Kraken</label><br>

    <input type="radio" id="sasquatch" name="monster" value="S">
    <label for="sasquatch">Sasquatch</label><br>

    <input type="radio" id="mothman" name="monster" value="M" />
    <label for="mothman">Mothman</label>
  </fieldse
t>
</form>
legend {
    background-color: #000;
    color: #fff;
    padding: 3px 6px;
}

input {
    margin: 0.4rem;
}

legend | 标题
<fieldset>
            <legend>Is your cat an indoor or outdoor cat?</legend>
            <label><input id="indoor" type="radio" name="indoor-outdoor" value="indoor"> Indoor</label>
            <label><input id="outdoor" type="radio" name="indoor-outdoor" value="outdoor"> Outdoor</label>
          </fieldset>

ul | 无序列表

列表元素使用li

<ul>
  <li>milk</li>
  <li>cheese</li>
</ul>

ol | 有序列表

<ol>
          <li>flea treatment</li>
          <li>thunder</li>
          <li>other cats</li>
        </ol>

figure | 可附标题内容元素

<figure> 元素代表一段独立的内容,可能包含 <figcaption> 元素定义的说明元素。该插图、标题和其中的内容通常作为一个独立的引用单元

figcaption | figure 下图片标题说明

<figure>
          <img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/lasagna.jpg" alt="A slice of lasagna on a plate.">
          <figcaption>Cats love lasagna.</figcaption>
        </figure>

Cats love lasagn. 就是所谓的图片标题说明

em | 强调

em 对文本进行强调显示

<em>love</em>

strong | 强调

<strong>hate</strong>

语义标签-H5

内容区域

标识不同的内容区域

标签语义
article定义文章
aside定义页面内容以外的内容
details定义用户能够查看或隐藏的额外细节
figcaption定义 figure 元素的标题
figure规定自包含内容,比如图示、图表、照片、代码清单等
footer定义文档或节的页脚
header规定文档或节的页眉
main规定文档的主内容
mark定义重要的或强调的文本
nav定义导航链接
section定义文档中的节
summary定义 details 元素的可见标题

article | 文章

元素表示文档、页面、应用或网站中的独立结构,其意在成为可独立分配的或可复用的结构,如在发布中,它可能是论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组件,或者其他独立的内容项目

H5新特征

  • Canvas、SVG -- 用于绘画的元素,canvas绘制的图片会失真而SVG绘制的不会失真。
  • video、audio -- 用于播放视频和音频的媒体。
  • Drag 、Drop -- 用于拖放的 。
  • Geolocation -- 用于获取地理位置。
  • localStorage、sessionStorage -- 用于本地离线存储。
  • webSQL、IndexDB -- 前端数据库操作,由于安全性极低,目前h5已放弃。
  • web Worker -- 独立于其他脚本,不影响页面性能运行在后台的javascript。
  • webSocket -- 单个TCP连接上进行全双工通讯的协议。
  • 新的特殊内容元素 -- 如:article、footer、header、nav、section。
  • 新的表单控件 -- 如:date、time、email、url、search。

新的语义标签

🤔TODO

语义标签 -> 标签可以看出其作用

例如 img table form

新的标签包括:

标签语义
article定义文章
aside定义页面内容以外的内容
details定义用户能够查看或隐藏的额外细节
figcaption定义 figure 元素的标题
figure规定自包含内容,比如图示、图表、照片、代码清单等
footer定义文档或节的页脚
header规定文档或节的页眉
main规定文档的主内容
mark定义重要的或强调的文本
nav定义导航链接
section定义文档中的节
summary定义 details 元素的可见标题
time定义日期/时间

好处

  • 代码结构得到了优化,使结构完整、清晰,更加方便阅读和理解
  • 有利于搜索引擎的优化
  • 爬虫依赖标签确定关键字的权重,可以帮助爬虫爬出更多有效信息

怎么语义化

  • 少用无语义的标签, 例如标签 div、span
  • 用对有语义的标签 可参上面的新的 -> 新的标签

Semantics(语义) - 术语表 | MDN

HTML5 语义元素

什么是 HTML 语义化,有什么好处 - 肥晨 - 博客园

[什么是语义化标签,常见的语义化标签介绍_.慢慢亦漫漫的博客-CSDN博客_语义化标签

](https://blog.csdn.net/weixin_43183219/article/details/122392412)

HTML5新增了哪些特性? - 掘金

manifest 应用缓存机制

虽然 manifest 已经被web标准弃用 但是还是值得了解一下

使用 manifest 进行缓存

好处

  • 离线访问: 即使服务器挂了, 或者没有网络, 用户依然可以正常浏览网页内容.
  • 访问更快: 数据存在于本地, 省去了浏览器发起http请求的时间, 因此访问更快, 移动端效果更为明显.
  • 降低负载: 浏览器只在manifest文件改动时才去服务器下载需要缓存的资源, 大大降低了服务器负载.

编写 manifest 缓存清单

CACHE MANIFEST
# v1.0.0
content.css

NETWORK:
app.js

FALLBACK:
/other 404.html

由 CACHE, NETWORK 和 FALLBACK 组成

其中第一行必须以 CACHE MANIFEST 开头, 后可跟若干字符注释, 注释从#号开始. 跟在 CACHE MANIFEST 行后的文件, 每行列出一个, 这些文件是需要缓存的文件. 因此 content.css 会被缓存, 不需要访问网络.

第二段内容以 NETWORK: 开始, 跟在该行后的文件表示需要访问网络. 如: app.js 将直接从网络上下载, 并不走manifest cache, 如果除了第一段中缓存的文件以外, 其他文件都从网络上获取, 那么此时可将 app.js 改为 * (通配符).

第三段内容以 FALLBACK: 开始, 跟在该行后的文件表示会有一个替代方案. 如: 当访问 /other 路径时, 如果访问失败, 那么将自动加载 404.html 作为替代.

正则

可以用于输入的格式限制

参考

聊一聊H5应用缓存-Manifest | louis blog (louiszhai.github.io)

本文由博客一文多发平台 OpenWrite 发布!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试热点题:stl中vector与list的优缺点对比、以及list的迭代器与vector迭代器的区别

vector的优点 下标随机访问 vector的底层是一段连续的物理空间&#xff0c;所以支持随机访问尾插尾删效率高 跟数组类似&#xff0c;我们能够很轻易的找到最后一个元素&#xff0c;并完成各种操作cpu高速缓存命中率高 因为系统在底层拿空间的时候&#xff0c;是拿一段进cpu&am…

软件测试5年,一路走来的艰辛路程

前言 不论你是什么时候开始接触测试这个行业的&#xff0c;你首先听说的应该是功能测试。通过一些测试手段来验证开发做出的代码是否符合产品的需求&#xff1f;当然你也有自己对功能测试的理解&#xff0c;但是最近两年感觉功能测试好像不太受欢迎&#xff0c;同时不少同学真的…

JavaEE简单示例——动态SQL之更新操作<set>元素

简单介绍&#xff1a; 在之前我们做的学生管理系统的时候&#xff0c;曾经有一个环节是修改学生的数据。我们在修改的时候是必须将student对象的三个属性全部填入信息&#xff0c;然后全部修改才可以&#xff0c;这样会造成一个问题就是在我们明明只需要修改一个属性的时候却要…

华为外包测试2年,不甘被替换,168天的学习转岗成正式员工

我25岁的时候&#xff0c;华为外包测试&#xff0c;薪资13.5k&#xff0c;人在深圳。 内卷什么的就不说了&#xff0c;而且人在外包那些高级精英年薪大几十的咱也接触不到&#xff0c;就说说外包吧。假设以我为界限&#xff0c;25岁一线城市13.5k&#xff0c;那22-24大部分情况…

干货|最全焊接不良汇总,你知道如何避免吗?

良好的焊接&#xff0c;是保证电路稳定持久工作的前提。下面给出了常见的8种焊接缺陷&#xff0c;看看你遇到过多少种&#xff1f;焊接中的常见问题一、锡珠形成原因&#xff1a;渣或杂质&#xff1a;在焊接过程中&#xff0c;如果焊接区域附近有过多的杂质或者脏污&#xff0c…

毕业论文图片格式、分辨率选择及高质量Word转PDF方法

已知1&#xff1a;毕业论文盲评通常需要提交PDF文件。 已知2&#xff1a;PDF文件太大可能会导致翻页卡顿以及上传盲评网站失败。 已知3&#xff1a;Word转PDF方法不当可能会导致图像模糊。 已知4&#xff1a;打印机分辨率通常为300dpi。 问题1&#xff1a;论文插图分辨率设置…

分类预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆网络数据分类预测

分类预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆网络数据分类预测 目录分类预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆网络数据分类预测分类效果基本描述模型描述程序设计参考资料分类效果 基本描述 1.Matlab实现WOA-CNN-LSTM多特征分类预测&…

关于一个Java程序员马上要笔试了,临时抱佛脚,一晚上恶补45道简单SQL题,希望笔试能通过

MySQL随手练 / DQL篇 MySQL随手练——DQL篇 题目网盘下载&#xff1a;https://pan.baidu.com/s/1Ky-RJRNyfvlEJldNL_yQEQ?pwdlana 初始数据 表 course 表 student 表 teacher 表 sc 答案 :) —> :( —> :) 1. 查询 "01"课程比"02"课程成绩高的学生…

VXLAN基础介绍

VXLAN简介 VXLAN&#xff08;Virtual eXtensible Local Area Network&#xff0c;虚拟扩展局域网&#xff09;采用MAC in UDP封装方式&#xff0c;是NVO3&#xff08;Network Virtualization over Layer 3&#xff09;中的一种网络虚拟化技术。 VXLAN特性在本质上属于一种VPN技…

MySQl高可用集群搭建(MGR + ProxySQL + Keepalived)

前言 服务器规划&#xff08;CentOS7.x&#xff09; IP地址主机名部署角色192.168.x.101mysql01mysql192.168.x.102mysql02mysql192.168.x.103mysql03mysql192.168.x.104proxysql01proxysql、keepalived192.168.x.105proxysql02proxysql、keepalived 将安装包 mysql_cluster_…

这套软件测试试卷能打90分,直接入职字节吧

目录 一&#xff0e;填空 二、 判断题&#xff08;正确的√&#xff0c;错误的╳&#xff09;共10分&#xff0c;每小题1分 三、数据库部分&#xff1a;&#xff08;共15分&#xff09; 四、设计题。本题共 1 小题&#xff0c;满分 20分 一&#xff0e;填空 1、 系…

让ArcMap变得更加强大,用python执行地理处理以及编写自定义脚本工具箱

文章目录一、用python执行地理处理工具1.1 例&#xff1a;乘以0.00011.2 例&#xff1a;裁剪栅格1.3 哪里查看调用某工具的代码&#xff1f;二、用python批量执行地理处理工具2.1 必需的python语法知识for循环语句缩进的使用注释的使用2.2 一个批处理栅格的代码模板三、创建自定…

数组中的各种迭代API方法手写

js的数组上有很多实用的方法&#xff0c;不论是在遍历数组上&#xff0c;还是在操作数组内元素上&#xff0c;它有许多不同的遍历数组的方法&#xff0c;同时它还有着可以直接操作数组中间元素的方法。 接下来&#xff0c;我来带大家手写数组里的 遍历方法 。 Array.forEach(…

Elasticsearch在Linux中的单节点部署和集群部署

目录一、Elasticsearch简介二、Linux单节点部署1、软件下载解压2、创建用户3、修改配置文件4、切换到刚刚创建的用户启动软件5、测试三、Linux集群配置1、拷贝文件2、修改配置文件3、分别修改文件所有者4、启动三个软件5、测试四、问题总结1、在elasticsearch启动时如果报错内存…

【黑盒模糊测试】路由器固件漏洞挖掘实战--AFL++ qemu_mode

前言 很久之前就想写AFL++的qemu_mode了,只是模糊测试专题的文章有些过于耗费时间,加上工作原因导致一直搁置。最近需要出差会用到黑盒模糊测试,所以就当做复习一遍,我记得Fuzzing 101也有一个qemu_mode的练习,有空的话下一篇文章更新吧~ 编写不易,如果能够帮助到你,希望…

金三银四软件测试面试如何拿捏面试官?【接口测试篇】

九、接口测试 9.1 接口测试怎么测 &#xff08;jmeter版本&#xff09; 首先开发会给我们一个接口文档&#xff0c;我们根据开发给的接口文档&#xff0c;进行测试点的分析&#xff0c;主要是考虑正常场景与异常场景&#xff0c;正常场景&#xff0c;条件的组合&#xff0c;…

前端vue实现获取七天时间和星期几功能

前端vue实现获取七天时间和星期几功能 功能展示代码 <div v-for"(item,index) in same_week" :class"[same_dayitem.date? activ :,dis]" click"select(item)" :keyindex><span>{{item.name}}</span><span>{{item.…

[技术经理]01 程序员最优的成长之路是什么?

00前言 谈起程序员的职业规划&#xff0c;针对大部分的职场人士&#xff0c;最优的成长之路应该是走技术管理路线&#xff0c;而不是走技术专家路线。 01关键的一步 中国自古就有“学而优则仕”的传统&#xff0c;发展到今天&#xff0c;在我们的现代企业里面&#xff0c;尤…

【JavaEE初阶】第一节.多线程(进阶篇 ) 常见的锁策略、CAS及它的ABA问题

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、常见的锁策略 1.1 乐观锁 vs 悲观锁 1.2 普通的互斥锁 vs 读写锁 1.3 重量级锁 vs 轻量级锁 1.4 自旋锁 vs 挂起等待锁 1.5 公平…

Mac - Spotlight(聚焦)

文章目录一、Mac 中 Spotlight 的使用1、调用/打开 Spotlight2、执行搜索3、Spotlight 设置二、Mac 上的 Spotlight 开发1、关于 Spotlight2、使用 NSMetadataQuery 搜索示例三、mds 和 fsevents四、命令行访问 Spotlight五、Core Spotlight Framework六、Spotlight 插件相关资…