HTML 【实用教程】(2024最新版)
核心思想 —— 语义化
【面试题】如何理解 HTML 语义化 ?
仅通过标签便能判断内容的类型,特别是区分标题、段落、图片和表格
- 增加代码可读性,让人更容易读懂
- 对SEO更加友好,让搜索引擎更容易读懂
html 文件的基本结构
html 文件的文件后缀为 .html
,如 index.html
vscode 中输入英文 !
可快捷输入
<!-- HTML5的文档类型声明【必要】 -->
<!doctype html>
<!-- 整个页面,语言为英文【必要】 -->
<html lang="en"><!-- 页面的头部【必要】 --><head><!-- 页面的元信息-- 文档的字符编码为 UTF-8 --><meta charset="UTF-8" /><!-- 页面的元信息-- 设备上显示页面的区域 viewport 的配置 -- width 为 device-width ,即采用设备宽度;intial-scale 为 1 ,即按原比例显示(无缩放)--><meta name="viewport" content="width=device-width, initial-scale=1.0" /><!-- 页面的标题【必要】 --><title>Document</title><!-- 页面中的样式 --><style>html,body {height: 100%;}</style></head><!-- 页面的身体【必要】 --><body><!-- 页面的内容 --><div></div><!-- 页面的脚本 —— JS 代码 --><script></script></body>
</html>
【面试题】为什么<style></style> 标签要写在<head></head> 中 ?
浏览器解析 HTML 文档是自上而下的,将 <style></style>
标签要写在<head></head>
中就能先加载样式,再加载元素。
若将 <style></style>
标签写在<body></body>
下方,则是先加载元素,再加载样式,导致用户会看到没有样式的页面结构。
【面试题】为什么<script></script> 标签要写在 <body></body> 内的底部 ?
浏览器解析 HTML 文档是自上而下的, <style></style>
若未放在<body></body>
内的底部,则会先加载并解析 JS ,再渲染元素,导致页面渲染的时间延长,倘若 JS 中涉及 DOM 操作,还会阻塞页面的渲染。
html 标签的分类
根据标签的默认的 display 样式值分为两类
【面试题】HTML有哪些内联元素和块状元素 ?
内联元素
宽度由内容决定
display :inline
若非替换元素,不能设置宽高
img,span , a , b 等
display :inline-block
可以设置宽高
input, button 等
块状元素
宽度由容器决定(宽度会撑满整个容器),可以设置宽高
display: block
div,h1-h6,p,ul, ol ,form , hr 等
display: table
table
display: list-item
li
HTML 中的替换元素
通过修改某属性值(大部分是 src 属性)就能替换其呈现内容的元素,被称为“替换元素”。
以下标签,都是替换元素:
img、video、iframe、canvas、textarea、input、select、object
替换元素的特征
- 都是内联元素
- 内容的外观不受其他标签 CSS 的影响,如替换的内容中的文本等。
- 替换的内容本身就有尺寸
- img 默认的尺寸即其加载的图片的尺寸。
- video、iframe、canvas 等默认的尺寸(不包括边框)是300px * 150px。
- 替换元素的基线(vertical-align 的默认值 baseline 即基线)为元素的下边缘,而不是字符 x 的下边缘
- 若未加载替换内容(如未设置 src 属性),替换元素就会失去替换元素的特征,变成一个普通的内联元素
替换元素的尺寸
替换元素的最终尺寸由以下三种方式共同决定,它们的 优先级由高到低 依次是 :
- 通过 CSS 的 width、height、max-width/min-width、max-height/min-height 设置的尺寸
- 替换元素上的 html 属性可以设定尺寸,如 img 的 width 和 height 属性、input 的 size 属性、textarea 的 cols 和 rows 属性等
- 替换的内容本身有尺寸
HTML5 新增的标签
【面试题】HTML5 新增了哪些标签 ? (回答几个常用的即可)
结构性标签
<header>: 定义文档或节的头部。
<nav>: 定义导航链接。
<section>: 定义文档中的独立节。
<article>: 定义文档、页面、应用或网站中独立的内容区域。
<aside>: 定义页面的侧边栏内容。
<footer>: 定义文档或节的页脚。
<main>: 定义文档的主体内容。
多媒体标签
<video>: 定义视频或电影。
<audio>: 定义音频内容。
<source>: 为<video>和<audio>元素定义媒体资源。
<track>: 为<video>和<audio>元素定义文本轨道。
<embed>: 定义嵌入的内容,比如插件。
<canvas>: 用于在网页上绘制图形。
表单标签
<datalist>: 定义选项列表,与<input>元素配合使用,以提供“自动完成”功能。
<output>: 定义不同类型的输出,比如脚本的输出。
其他标签
<time>: 定义日期或时间。
<mark>: 定义高亮显示的文本。
<progress>: 定义任何类型的任务的进度。
<meter>: 定义已知范围或分数值内的标量测量。
<details>: 定义用户可见的或者隐藏的额外的细节。
<summary>: 定义<details>元素的可见标题。
<figure>: 规定独立的流内容(图像、图表、照片、代码等等)。
<figcaption>: 定义<figure>元素的标题(caption)。
HTML 常用标签实战要点
link 外链资源
限 head 标签内使用,可定义文档与外部资源之间的关系,如外链 css 样式,外链页面标题前的小图标等。
<!-- 外链--样式 -->
<link rel="stylesheet" type="text/css" href="style.css" />
<!-- 外链--页面标题前的小图标 -->
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
a 超链接
-
超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)
https://blog.csdn.net/weixin_41192489/article/details/140217094 -
给段落添加超链接
用 p 包裹 a,而不是 a 包裹 p<p><a href="">段落</a></p>
普通文本专用标签
br 段落内换行
仅适用于 p 标签内部的换行,段落间的换行或调整元素间的间距请使用样式 padding、margin 等样式。
<p>广东省<br/>广州市<br/>黄埔大道西601号</p>
span 行内文本
用于包裹行内的部分文本来添加特殊的样式。
<p><span style="color: red">要点:</span> 不能长时间睡觉。</p>
sup 上标
<p>m<sup>2</sup></p>
sub 下标
<p>m<sub>2</sub></p>
pre 预定义文本
块状元素 display: block
可保留所有空白字符(空格、换行符),原封不动的输出结果,常用于展示计算机的源代码。
<pre>
你好:我昨天给你打了个电话。
</pre>
code 代码
内联元素 display: inline
用于表示计算机源代码或者其他机器可以阅读的文本内容,为保留代码的缩进格式,通常和 pre 标签一起使用。
code 标签内的文本将用等宽、类似电传打字机样式的字体(Courier)显示出来。
<pre><code>let a = 1;</code>
</pre>
列表相关标签
ul 无序列表
- type 属性可修改序号类型
- disc 实心原点【默认】
- square 实心方点
- circle 空心圆
<ul><li>咖啡</li><li>茶</li><li>牛奶</li>
</ul>
ol 有序列表
- type 属性 —— 序号类型,如1( 阿拉伯数字【默认】) 、a、A、i、I
- start 属性 —— 计数起点
<ol><li>咖啡</li><li>茶</li><li>牛奶</li>
</ol>
<ol type="a"> <li>嘿嘿</li><li>嘿嘿</li><li>呵呵</li>
</ol>
<ol type="1" start="4"> <li>哈哈</li><li>哈哈</li><li>哈哈</li>
</ol>
列表嵌套
li 是一个容器级标签,里面什么都能放,包括 ul。
<ul><li><b>北京市</b><ul><li>海淀区</li><li>朝阳区</li><li>东城区</li></ul></li><li><b>广州市</b><ul><li>天河区</li><li>越秀区</li></ul></li>
</ul>
table 表格
https://blog.csdn.net/weixin_41192489/article/details/140217983
i 图标
i 标签原用于表示斜体文字,默认有字体倾斜的效果,但现在斜体统一通过css实现。 因 i 为图标 icon 的首字母,现习惯用 i 标签来展示图标,所以需添加样式 font-style:normal 取消默认的倾斜。
<i style="font-style:normal">☎</i>
img 图片
display :inline
内联元素
支持的图片格式:jpg(jpeg)、gif、png、bmp,其他格式不支持,如psd、ai
<img src="./ecLogo.jpg" alt="EC编程俱乐部的logo" />
-
src【必要】:图片的地址
-
alt【重要】:当图片无法显示时,代替图片显示的内容,搜索引擎会抓取此属性。alt 源自单词 alternate “替代”,代表替换资源。(有的浏览器不支持)
-
要想图片保持宽高比,通常只设置 width 和 height 中的一个
-
【实战技巧】响应式图片
https://blog.csdn.net/weixin_41192489/article/details/126038175 -
【实战技巧】图片懒加载(手写)
https://blog.csdn.net/weixin_41192489/article/details/126263221
audio 音频
display :inline
内联元素
<audio controls><source src="./test.mp3" type="audio/mp3" />您的浏览器不支持 audio 标签。
</audio>
- src【必要】:音频的地址
- controls 展示音乐播放器
- autoplay 自动播放
- loop 循环播放
- preload 预加载(设置 autoplay 时,此属性将失效)
下方为使用 vue3 实现的简易音乐播放器,相关属性和方法详见注释
<script setup>
let bgMusic_ref = ref(null)function printInfo() {let musicInfo = {//currentTime 当前播放进度(单位秒s)currentTime: bgMusic_ref.value.currentTime,//duration 音频总时长(单位秒s)duration: bgMusic_ref.value.duration}console.log(musicInfo)
}function play() {// 播放音频bgMusic_ref.value.play()
}function pause() {// 暂停播放音频bgMusic_ref.value.pause()
}// 重新播放音频(从头开始播放)
function rePlay() {// 先将当前播放进度重置为 0bgMusic_ref.value.currentTime = 0// 再播放音频bgMusic_ref.value.play()
}
</script><template><audio ref="bgMusic_ref" controls autoplay><source src="./test.mp3" type="audio/mp3" />您的浏览器不支持 audio 标签。</audio><button @click="play">播放</button><button @click="pause">暂停</button><button @click="rePlay">重新播放</button><button @click="printInfo">打印音频信息</button>
</template>
- 【实用技巧】下载音乐到本地电脑
https://blog.csdn.net/weixin_41192489/article/details/122680809
video 视频
display :inline
内联元素
仅支持MP4、WebM、Ogg三种格式,不支持其他格式,如flv、mkv等
<video controls><source src="./test.mp4" type="video/mp4" /></video>
-
src【必要】:视频的地址
-
controls 展示视频播放器
-
autoplay 自动播放
-
loop 循环播放
-
preload 预加载(设置 autoplay 时,此属性将失效)
-
【实用技巧】下载视频到本地电脑-CSDN博客
https://blog.csdn.net/weixin_41192489/article/details/140223996
iframe 内嵌框架
display :inline
内联元素
在页面内嵌入网页
<iframe src="https://www.w3school.com.cn/index.html"></iframe>
- src【必要】:其他网页的地址
表单相关标签
button 按钮
display :inline-block
内联元素
<button onclick="alert('你好!')">点击我!</button>
HTML 渲染特殊字符
字符 | 描述 | 代码 |
---|---|---|
空格 | non-breaking spacing | |
< | 小于号less than | < |
> | 大于号greater than | > |
© | 版权 | © |
& | 和号 | & |
更多特殊字符,参考《html特殊字符的html,js,css写法汇总》
https://www.cnblogs.com/starof/p/4718550.html
HTML 常用标签实战范例
页面布局
-
vue3【实战】语义化首页布局-CSDN博客
https://blog.csdn.net/weixin_41192489/article/details/140215515 -
CSS 【实战】 “四合院”布局-CSDN博客
https://blog.csdn.net/weixin_41192489/article/details/139243680
相关文章:
HTML 【实用教程】(2024最新版)
核心思想 —— 语义化 【面试题】如何理解 HTML 语义化 ?仅通过标签便能判断内容的类型,特别是区分标题、段落、图片和表格 增加代码可读性,让人更容易读懂对SEO更加友好,让搜索引擎更容易读懂 html 文件的基本结构 html 文件的文件后缀为 …...
How to Describe Figures in a Research Article
How to Describe Figures in a Research Article DateAuthorVersionNote2024.07.10Dog TaoV1.0Finish the document. 文章目录 How to Describe Figures in a Research ArticleGeneral GuidelinesDetailed DescriptionsCommon Describing Phrases Effective communication of …...
昇思MindSpore学习入门-CELL与参数一
Cell作为神经网络构造的基础单元,与神经网络层(Layer)的概念相对应,对Tensor计算操作的抽象封装,能够更准确清晰地对神经网络结构进行表示。除了基础的Tensor计算流程定义外,神经网络层还包含了参数管理、状态管理等功能。而参数(…...
【k8s中安装rabbitmq】k8s中安装rabbitmq并搭建镜像集群-hostpath版
文章目录 简介一.条件及环境说明二.需求说明三.实现原理及说明四.详细步骤4.1.规划节点标签4.2.创建configmap配置4.3.创建三个statefulset和service headless配置4.4.创建service配置 五.安装完后的配置六.安装说明 简介 k8s集群中搭建rabbitmq集群服务一般都会用到pvc&#x…...
(5) 深入探索Python-Pandas库的核心数据结构:Series详解
目录 前言1. Series 简介2. Series的特点3. Series的创建3.1 使用列表创建Series3.2 使用字典创建Series3.3 使用列表和自定义索引创建Series3.4 指定数据类型和名称 4. Series的索引/切片4.1 下标索引:基于整数位置的索引4.2 基于标签的索引4.3 切片4.4 使用.loc[]…...
JAVA之开发神器——IntelliJ IDEA的下载与安装
一、IDEA是什么? IEAD是JetBrains公司开发的专用于java开发的一款集成开发环境。由于其功能强大且符合人体工程学(就是更懂你)的优点,深受java开发人员的喜爱。目前在java开发工具中占比3/4。如果你要走java开发方向,那…...
通过Umijs从0到1搭建一个React项目
有一阵时间没写react了,今天通过umi搭建一个demo项目复习一下react;umi是一个可扩展的企业级前端应用框架,在react市场中还是比较火的一个框架。 Umi官方文档:Umi 介绍 (umijs.org) 一、构建项目。 1、安装包管理工具。 官方推…...
Redis 数据过期及淘汰策略
Redis 数据过期及淘汰策略 过期策略 定时过期 在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除。到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好&a…...
vue vite+three在线编辑模型导入导出
文章目录 序一、1.0.0版本1.新增2.编辑3.导出4.导入 总结 序 要实现一个类似于数字孪生的场景 可以在线、新增、删除模型 、以及编辑模型的颜色、长宽高 然后还要实现 编辑完后 保存为json数据 记录模型数据 既可以导入也可以导出 一、1.0.0版本 1.新增 先拿建议的立方体来…...
去水印小程序源码修复版-前端后端内置接口+第三方接口
去水印小程序源码,前端后端,内置接口第三方接口, 修复数据库账号密码错误问题,内置接口支持替换第三方接口, 文件挺全的,可以添加流量主代码,搭建需要准备一台服务器,备案域名和http…...
机器学习:预测评估8类指标
机器学习:8类预测评估指标 R方值、平均值绝对误差值MAE、均方误差MSE、均方误差根EMSE、中位数绝对误差MAD、平均绝对百分误差MAPE、可解释方差分EVS、均方根对数误差MLSE。 一、R方值 1、说明: R方值,也称为确定系数或拟合优度ÿ…...
【深度学习基础】MAC pycharm 专业版安装与激活
文章目录 一、pycharm专业版安装二、激活 一、pycharm专业版安装 PyCharm是一款专为Python开发者设计的集成开发环境(IDE),旨在帮助用户在使用Python语言开发时提高效率。以下是对PyCharm软件的详细介绍,包括其作用和主要功能&…...
排序相关算法--1.插入排序+冒泡排序回顾
1.基本分类 2.插入排序 特点:有实践意义(例如后期快排的优化),适应性强,一般不会到时间复杂度最坏的情况。 将第一个元素视为已经排好序的序列。取出下一个元素,在已经排好序的序列中从后往前比较…...
变阻器的故障排除方法有哪些?
变阻器,特别是滑动变阻器,作为电子电路中的常见元件,其故障排除方法主要依据具体的故障现象来确定。以下是一些常见的故障现象及其排除方法: 一、接触不良 现象:电阻器不起作用或电压不稳定。 排除方法: …...
软考《信息系统运行管理员》-3.1信息系统设施运维的管理体系
3.1信息系统设施运维的管理体系 1 信息系统设施运维的对象 基础环境 主要包括信息系统运行环境(机房、设备间、配线室、基站、云计算中心 等)中的空调系统、供配电系统、通信应急设备系统、防护设备系统(如消防系统、安全系统) 等,能维持系统安全正常运转…...
Nginx重定向
Nginx重定向 location 匹配 location匹配的就是后面的URL /WordPress 192.168.118.10/wordpress location匹配的分类和优先级 1.精确匹配 location/对字符串进行完全匹配,必须完全符合2.正则匹配 ^~ 前缀匹配,以什么为开头~ 区分大小写的匹配~* 不区分大小写!~: 区分大小…...
私有化地图离线部署方案之高程检索服务
私有化地图离线部署整体解决方案,除硬件之外,一般主要由基础地图服务、查询定位服务、路径规划服务和高程检索服务构成。 我们已经分享过基础地图服务、查询定位服务和路径规划服务,现在再为你分享高程检索服务的方法。 私有化高程检索服务…...
PostgreSQL 中如何实现数据的增量更新和全量更新的平衡?
文章目录 一、增量更新与全量更新的概念增量更新全量更新 二、考虑的因素1. 数据量2. 数据更改的频率和规模3. 数据一致性要求4. 系统性能和资源利用5. 业务逻辑和流程 三、解决方案(一)混合使用增量更新和全量更新(二)使用临时表…...
数据结构--二叉树相关习题5(判断二叉树是否是完全二叉树 )
1.判断二叉树是否是完全二叉树 辨别: 不能使用递归或者算节点个数和高度来判断。 满二叉树可以用高度和节点来判断,因为是完整的。 但是完全二叉树前面是满的,但是最后一层是从左到右连续这种 如果仍然用这种方法的话,如下图…...
Python 轻松生成多种条形码、二维码 (Code 128、EAN-13、QR code等)
条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。 本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13,…...
Python: 分块读取文本文件
在处理大文件时,逐行或分块读取文件是很常见的需求。下面是几种常见的方法,用于在 Python 中分块读取文本文件: 1、问题背景 如何分块读取一个较大的文本文件,并提取出特定的信息? 问题描述: fopen(blank.txt,r) quot…...
服务攻防——中间件Jboss
文章目录 一、Jboss简介二、Jboss渗透2.1 JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)2.2 JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501)2.3 JBossMQ JMS 反序列化漏洞(CVE-2017-7504)2.4 Adminis…...
宏碁F5-572G-59K3笔记本笔记本电脑拆机清灰教程(详解)
1. 前言 我的笔记本开机比较慢,没有固态,听说最近固态比较便宜,就想入手一个,于是拆笔记本看一下有没有可以安的装位置。(友情提示,在拆机之前记得洗手并擦干,以防静电损坏电源器件)…...
基于FPGA的LDPC编译码算法设计基础知识
基于FPGA的LDPC编译码算法设计基础知识 数字电路(数电)知识模拟电路(模电)知识1. 放大器1.1. 晶体管放大器1.2. 运算放大器1.3. 管子放大器(真空管放大器)微处理器/单片机知识其他相关知识 基于FPGA的算法设…...
国际网课平台Udemy上的亚马逊云科技AWS免费高分课程和创建、维护EC2动手实践
亚马逊云科技(AWS)是全球云行业最🔥火的云平台,在全球经济形势不好的大背景下,通过网课学习亚马逊云科技AWS基础备考亚马逊云科技AWS证书,对于找工作或者无背景转行做AWS帮助巨大。欢迎大家关注小李哥,及时了解世界最前…...
空中交通新动能!2024深圳eVTOL展动力电池展区核心内容抢先看!
空中交通新动能!2024深圳eVTOL展动力电池展区核心内容抢先看! 关键词:2024深圳eVTOL展 动力电池 高能量密度电池 高性能电池材料 作为2024深圳eVTOL展重要组成部分,2024深圳eVTOL动力电池展将于9月23-25日在深圳坪山燕子湖国际会…...
代码江湖:Python 中的进程与线程
大家好,我是阔升。今天,咱们来聊聊 Python 中的两个"老熟人"——进程和线程。这两个概念可以说是 Python 多任务编程中的"双子星",既相似又不同,让不少小伙伴们头疼不已。不过别担心,今天我们就来…...
根据H在有限域GF(2^m)上求解生成矩阵G
原理 有时间再补充。 注1:使用高斯消去法。如果Py不为单位阵,则说明进行了列置换,此时G不是系统形式。 注2:校验矩阵H必须是行满秩才存在对应的生成矩阵G,且生成矩阵G通常不唯一。 matlab实现:只做列置…...
Django 实现子模版继承父模板
背景 Django的占位符,如果不继承父模板的内容,会被子模版所覆盖,有些业务场景子模版也需要使用到父模板中的内容 可以使用Django自带的标签{% block super %}来实现此效果 base.html 最基础html,相当于第一层html,bl…...
数据安全治理:从库级权限申请到表级权限申请
背景 随着数据安全意识的提高,企业越来越重视数据治理和权限管理。传统数仓大多对库级别进行读写授权,仅对人工标记的敏感库进行表级别授权,但由于敏感等级是由人为标记,错误率较高,故期望将权限申请流程细化到表级申…...
采集电影做的网站/新闻联播今日新闻
点击右上方红色按钮关注“web秀”,让你真正秀起来前言vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过 props 向下传数据给子组件,当子组件有事情要告诉父组件时会通过 $emit 事件告诉父组件…...
成都抖音推广公司/济南网站自然优化
删除链表的倒数第n个节点 OJ 地址:删除链表的倒数第n个节点 /*** struct ListNode {* int val;* struct ListNode *next;* };*/class Solution { public:/*** * param head ListNode类 * param n int整型 * return ListNode类*/ListNode* removeNthFromEnd(ListNo…...
做教案比较好的网站/磁力搜索器
Linux网络的IPv6应用(2)(转)-F :清除所有的已订定的规则;-X :杀掉所有使用者建立的表(table)。-Z :将所有的链(chain) 的计数与流量统计都归零。(2)建立政策#ip6tables [-t tables] [-P] [INPUT,OUTPUT,FOR…...
上海装修公司哪家最好/seo排名第一的企业
题目:原题链接(中等) 标签:数组、哈希表 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)L(N)L(N)L(N)160ms (87.84%)Ans 2 (Python)Ans 3 (Python) 解法一: class Solution:def findLongestSubarray(…...
青岛做网站/seo外链优化
程序员、码农、996名词的首发代言人,曾经是我们这个世纪最大的幸运儿,因为目前这行业最吃香最赚钱。走在高科技园区的路上,如果对面走过来一位意气风发的20多岁小伙,眉目间精神饱满,但是头顶上却毛发稀疏甚至中央见秃&…...
网站大图轮播/南宁网站推广排名
题目 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ************ *****所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小…...