【H2O2|全栈】关于HTML(1)认识HTML

HTML相关知识

目录

前言

准备工作

WEB前端是什么?

HTML是什么?

如何运行HTML文件?

标签

概念

分类

双标签和单标签

行内标签和块标签

HTML文档结构

预告和回顾

UI设计相关

Markdown | Md文档相关 

项目合作管理相关 

后话


前言

本系列的博客将分享前端HTML的相关知识点。

本篇作为本系列的第一期博客,主要讲解HTML入门的一些知识点。在文章的结尾我会给出本篇已经整理好的Markdown笔记源码,需要的朋友可以自行取用。

HTML我也是刚刚入门的水平,所以写的可能没那么深入,但是对于前端小白而言是足够用了。

主打分享,多多包涵(抱拳)。

准备工作

软件:【参考版本】Visual Studio Code,有关VS Code的下载安装方式可以自行站内搜索。

*使用HBuilderX或者其他的HTML编辑器都是可以的哈* 

浏览器版本:Chrome

系统版本: Win10/11/其他非Windows版本

*我的电脑是Win10的版本,仅供参考*

WEB前端是什么?

前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。 

通常来说,前端可以分为前端设计前端开发两个模块,先由设计人员做出网页的视觉设计,然后提交给开发人员进行代码上的实现

对于整个全栈项目而言,实质上整个流程里还有后端开发、软件测试以及运行维护等诸多岗位,这里就暂时不展开来说了。

一般来说,WEB前端网页由三个层次结构组成:

  1. 结构层(HTML)
  2. 表现层(CSS)
  3. 行为层(JavaScript)

其实很好理解,HTML就是网页的框架结构,相当于房屋里的钢筋混凝土,提供了一个网页的所有构成元素

比如下面这段代码(暂时不用知道它的含义),提供了一个最简单的HTML5网页:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>我是一个标题</title>
</head><body><h1>我是网页标题</h1><p>我是第一段内容</p><p>我是第二段内容</p>
</body></html>

在Chrome浏览器中运行,应该是如下的效果:

CSS表现为网页的所有样式,相当于房子的装潢,提供了网页的视觉效果

在刚才的HTML页面中,如果我想使标题和文字的视觉效果发生改变,就可以使用CSS样式表实现。只需在 <head></head> 标签里面引入这一段样式:

<style>h1 {color: #e12a2a;font-family: '宋体';}p {color: #f68e43;font-family: '楷体';font-size: larger;}
</style>

那么网页的效果就会变成下边这样:

JavaScript表现为网页上的所有动作,相当于房子里的家具,用来实现各种行为和实际的功能

在刚才的网页中,我们可以在 <head></head> 添加下面这段代码,实现点击第二段文字打开一张指定图片的功能:

<script>function openImage() {window.open("https://profile-avatar.csdnimg.cn/e495e388550d4706b75bf7261bed6d28_zc13786305863.jpg!1", "_blank");}
</script>

注意,第二段文字里面要加上鼠标点击时触发的JS动作:

<p onclick="openImage()">我是第二段内容</p>

然后再次点击第二段文字时,就可以打开指定的图片了:

这个案例我将会放到文章的最后,感兴趣的可以拿去跑跑看。

CSS,JS在这里暂时不去扩展,本文先从最基本的HTML开始。

HTML是什么?

HTML是HyperText Mark Language的缩写,中文全称叫“超文本  标记  语言”。

它是一种用来创建网页的标准的标记语言,html文件运行在浏览器上,默认由浏览器解析。

<!-- 1.标记语言由一套或多套标记标签组成(MarkupTag),用来描述、编辑网页的2.注意标记语言和编程语言的区别,前者是解释性的,逐行解析
--> 

html文档(文件),在浏览器上展示为Web页面。也可以说,HTML文档就是Web页面。

如何运行HTML文件?

HTML运行的位置,通常来说是浏览器

常见的浏览器大概有以下这些:

`360 ie 谷歌 搜狗 猎豹 夸克 uc 火狐 safari qq 2345`

推荐使用Chrome浏览器,也就是谷歌浏览器。 当然,也可以使用系统自带的Edge浏览器。

这里涉及到一个概念,叫浏览器的内核。它是一种渲染引擎(页面渲染)、 JS引擎,可以完成页面的逻辑以及操作,并解析和执行js代码。

这里例举几种浏览器的内核:

浏览器

 内核

IETrident内核,也是俗称的IE内核
Chrome(谷歌)  统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核
火狐(FireFox) Gecko内核,俗称Firefox内核
safari Webkit内核
Opera最初是自己的Presto内核,后来是Webkit,现在是Blink内核
Edge默认Chromium的Blink内核,可以打开Internet explore模式也就是Trident内核

标签

概念

标签(MarkupTag),又叫标记标签,在HTML中是用来描述、编辑网页的(HTML Tag)。

任意纯HTML文件,都是由标签内容两个基本组成部分构成的。

html标签的形式通常有这两类:

<aaa></aaa>
<bbb/>

*第一排是双标签,第二排是单标签,关于标签的分类后面会讲*

标签和内容一起,构成了HTML的基本元素。 

分类

标签的分类标准有很多种,具体来说,有两种标准:

  • 双标签和单标签
  • 行内标签和块标签

注意:这只是两种分类的标准罢了, 并不是说行内标签就一定是双标签或者单标签中的一种,而块标签就是另一种,两种分类并没有严格的对应关系

双标签和单标签

双标签开始标签开放标签)和结束标签闭合标签)组成,这两种标签就像一对双胞胎一样相互对应。但是,结束标签比开始标签多一个 / 符号。以html标签为例:

<html></html>

在双标签之间是可以填写文本内容的,而标签可以描述这些内容。

比如 <p></p>标签之间的内容,就可以显示为一个段落:

<p>这是一个段落</p>

单标签自闭合标签)是没有另一半与之对应的,它自己就是一个完整的标签,并不能包裹任何内容。

以常见的<hr />标签为例,表现为一段分割线:

<hr />
行内标签和块标签

行内标签在页面中仅仅占一行,只有到达浏览器可视区域(或者所在盒子)的边界才会自动换行。即使自动换行后,由于没有设置边距,上下两行文字也是挨在一起的。

以普通文本标签为例,使用的文字为《出师表》中的一段,代码和浏览器中展示的效果如下:

<span>先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
</span>

块标签在页面中独自占用一块区域,包括文本内容和边距等。 

在上一个行内标签的后面,加入一组<p></p>标签,同样也是《出师表》的内容,代码和效果如下:

<p>宫中府中,俱为一体;陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。
</p>

可以看到,两部分文字之间有一定的边距。为了更直观的看到块标签和行内标签的区别,我们可以在浏览器的空白区域右键单击,选择“检查”:

在右侧的检查区域中,鼠标悬浮到指定的文本的位置,比如说第一段,就可以在左侧看到当前文本所占的区域:

可以看到,行内标签所占的位置只有其中元素占的位置

还是检查区域,鼠标悬浮到第二段文字的位置,可以看到它所占的区域:

不难发现,除了文本本身所占的区域,段落还包括上下的边距

在此之后添加一个span文本,可以看到新的文本被自动换行了。

对于所有的块元素,本身都是自带换行的。 

HTML文档结构

在了解了标签的相关内容之后,我们便可以知道一个标准的HTML5(HTML的版本)由哪些部分构成了。为了方便解释,为之前章节中的代码加上注释:

<!-- 文档类型:html -->
<!DOCTYPE html><!-- html根标签 -->
<html><!-- 头部 -->
<head><!-- 元数据:编码类型 --><meta charset="UTF-8"><!-- 网页标题 --><title></title>
</head><!-- 主体 -->
<body></body></html>
DOCTYPE

声明文档的类型,可以大写也可以小写。

Doc是Document(文件)的缩写,Type是种类,类型。html代表文件类型为HTML。

<html>

和末尾的</html>作为一对,组成根标签。根标签是标记语言的最高级的标签,网页所有的元素都是它的子元素。其概念源自可扩展标记语言(Extensible Markup Language, XML),感兴趣的读者可以自行了解,后面也可能会单独出一期XML的杂谈笔记。

<head>

和后面的</head>作为一对,组成头部标签。头部标签中的内容是交给浏览器识别的,通常来说,包含元数据标题、链接、样式、JS行为等子标签。

对于纯HTML文档而言,目前暂时只需要知道其中的两项的一小部分。

<meta>

meta中间的内容是元数据,示例代码中的meta标签中的属性“charset”代表字符集类型。UTF-8是一种常用的字符集类型,目前绝大部分的程序、代码都是使用这个字符集进行编码的。

*注意,错误的编码类型会导致乱码问题,比如使用GBK编码书写的文档内容,直接添加到一个标注了字符集类型为utf-8的网页中,将导致文件内容不可读*

<title>

和后面的</title>作为一对,组成网页标题标签。网页标题显示在浏览器最上边的位置:

<body>

和后面的</body>作为一对,组成主体标签。其中的内容是浏览器窗口中可视化的元素。

预告和回顾

在我的HTML第二期博客中,将会介绍HTML的基本标签的使用,并会加上实际的案例。

本博客是HTML系列的第一篇博客,也是代码编写的第一篇博客。而所有的这些内容,最终都是为我们的全栈项目服务的。

对全栈项目感兴趣的朋友,也可以看看我之前的博客——

UI设计相关

PS第三期icon-default.png?t=O83Ahttp://t.csdnimg.cn/NDKCS

Markdown | Md文档相关 

Markdown(全一期)icon-default.png?t=O83Ahttp://t.csdnimg.cn/pdtLW

项目合作管理相关 

SVN(全一期)icon-default.png?t=O83Ahttp://t.csdnimg.cn/Oz5zA

后话

在全栈领域,博主也只不过是刚刚摸到了它的门槛。关于这篇博客,主要是记录一下自己学习的一些经历,然后把自己领悟到的一些东西总结一下,分享给大家。

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

【H2O2】

  

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

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

相关文章

idea快捷键_idea 2024 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备)

Ctrl G 在当前文件跳转到指定行处 Ctrl J 插入自定义动态代码模板 &#xff08;必备&#xff09; Ctrl P 方法参数提示显示 &#xff08;必备&#xff09; Ctrl Q 光标所在的变量 / 类名 / 方法名等上面&#xff08;也可以在提示补充的时候按&#xff09;&#xff0c;显示文…

基于SpringBoot的校园跑腿系统+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…

tabBar设置底部菜单以及选项iconfont图标

1.tabBar设置底部菜单 在官网里面可以了解到tabBar组件的一些知识和注意点&#xff1a; 需要给页面设置一个底部导航的话可以在pages.json里面设置一个tabBar标签&#xff0c;在其里面设置pagePath和text属性。 可以看的pagePath是跳转的地址&#xff0c;text是下面导航的文字…

DataLoader使用

文章目录 一、认识dataloader二、DataLoader整合数据集三、使用DataLoader展示图片方法四、去除结尾不满足batch_size设值图片的展示 一、认识dataloader DataLoader 用于封装数据集&#xff0c;并提供批量加载数据的迭代器。它支持自动打乱数据、多线程数据加载等功能。datas…

SpringDataJPA系列(7)Jackson注解在实体中应用

SpringDataJPA系列(7)Jackson注解在实体中应用 常用的Jackson注解 Springboot中默认集成的是Jackson&#xff0c;我们可以在jackson依赖包下看到Jackson有多个注解 一般常用的有下面这些&#xff1a; 一个实体的示例 测试方法如下&#xff1a; 按照上述图片中的序号做个简…

汽车网络安全的未来:将车辆视为端点

汽车行业面临着许多与其他行业的成功企业相同的网络安全风险和威胁&#xff0c;但它也在应对一些独特的风险和威胁。 Nuspire 的首席威胁分析师 Josh Smith&#xff08;一家在汽车领域有着深厚根基并保护通用汽车和斯巴鲁等客户的托管安全服务提供商&#xff09;谈到了当前的风…

多个路由器级联实现子网的方式

好久没写博客啦&#xff0c;最近搬家&#xff0c;换了网络环境&#xff0c;简单记录一下网络配置。 拓扑图就不画了&#xff0c;光猫 - > 华为TC7102路由 -> 华为AX2 Pro路由 -> 各种设备&#xff0c;简单表示就是这样。 原因是第一个路由是房东的&#xff0c;我希望自…

Lombok jar包引入和用法

大家好&#xff0c;今天分享一个在编写代码时的快捷方法。 当我们在封装实体类时&#xff0c;会使用set、get等一些方法。如下图&#xff0c;不但费事还影响代码的美观。 那么如何才能减少代码的冗余呢&#xff0c;首先lib中导入lombok的jar包并添加库。 此处我已导入&#xf…

【软件工程】软件开发模型

三、瀑布模型 四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

linux中PATH变量-详细介绍(1)

配置完后可以通过echo $PATH查看配置结果。 生效方法&#xff1a;立即生效 有效期限&#xff1a;临时改变&#xff0c;只能在当前的终端窗口中有效&#xff0c;当前窗口关闭后就会恢复原有的path配置 用户局限&#xff1a;仅对当前用户 2.对用户生效 因为写入到 .bash_prof…

1014 Waiting in Line

链接&#xff1a; 1014 Waiting in Line - PAT (Advanced Level) Practice (pintia.cn) 大致题意&#xff1a; 有 n 个窗口&#xff0c;每个窗口最多能容纳 m 人同时排队。一共有 k 个顾客&#xff0c;他们每个人有一个服务时长 t[i]。顾客们从早上 8 点开始服务。如果一个顾…

【Python 千题 —— 算法篇】无重复字符最长子段

Python 千题持续更新中 …… 脑图地址 &#x1f449;&#xff1a;⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目背景 在编程过程中&#xff0c;处理字符串的任务时常遇到&#xff0c;其中一个经典问题是查找无重复字符的最长子串。这在很多应用场景中…

KRTSt内嵌Lua脚本

KRTSt内嵌Lua脚本 Lua 简介 Lua是一门强大、高效、轻量、可嵌入的脚本语言。它支持多种编程架构&#xff1a;过程编程、面向对象编程&#xff08;OOP&#xff09;、函数式编程、数据驱动编程及数据描述。 Lua结合了简洁的过程语法和强大的数据描述结构&#xff08;基于关联数…

《Web性能权威指南》-网络技术概览-读书笔记

注&#xff1a;TCP/IP等知识牵涉面太广&#xff0c;且不说本文&#xff0c;哪怕是原书&#xff0c;限于篇幅&#xff0c;很多知识点都是大致介绍下。如果想深入理解&#xff0c;需要更一步Google相关页面资料。 延迟与带宽 WPO&#xff0c;Web Performance Optimization&…

算法day09 二叉树

class Node<V>{V value;Node left;Node right; } 一、用递归和非递归分别实现二叉树的前序&#xff0c;中序&#xff0c;后序遍历 非递归方式&#xff1a; 前序遍历 根左右 0&#xff09;利用stack后进先出的特点 要输出根左右的顺序&#xff0c;将元素右边先放入栈中…

【CanMV K230】圆形检测

【CanMV K230】圆形检测 什么是圆形检测圆形检测应用领域1.工业自动化2.机器人视觉3.医学图像分析4.目标识别5.质量检测6.研究和开发 K230应用相关函数官方例程HDMI屏幕使用圆形检测 本篇内容&#xff1a; 什么是圆形检测圆形检测应用领域K230应用&#xff08;包含相应函数及例…

SAP学习笔记 - 开发03 - CDSView开发环境搭建,Eclipse中连接SAP,CDSView创建

上一章讲了BTP的账号创建&#xff0c;环境搭建等内容。 SAP学习笔记 - 开发02 - BTP实操流程&#xff08;账号注册&#xff0c;BTP控制台&#xff0c;BTP集成开发环境搭建&#xff09;-CSDN博客 本章继续讲SAP开发。 - CDSView 的开发环境&#xff08;Eclipse&#xff09;搭建…

C++初阶:STL详解(一)——string类

✨✨小新课堂开课了&#xff0c;欢迎欢迎~✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C&#xff1a;由浅入深篇 小新的主页&#xff1a;编程版小新-CSDN博客 1.为什么会有string类 C 语言中&#xff0c…

驾驭不断发展的人工智能世界

从很多方面来看&#xff0c;历史似乎正在重演。许多企业正争相采用生成式人工智能 (Gen AI)&#xff0c;就像它们争相采用云计算一样&#xff0c;原因也是一样的&#xff1a;效率、成本节约和竞争优势。 然而&#xff0c;与云一样&#xff0c;GenAI 仍是一项发展中的技术&…

Kafka 分布式消息系统详细介绍

Kafka 分布式消息系统 一、Kafka 概述1.1 Kafka 定义1.2 Kafka 设计目标1.3 Kafka 特点 二、Kafka 架构设计2.1 基本架构2.2 Topic 和 Partition2.3 消费者和消费者组2.4 Replica 副本 三、Kafka 分布式集群搭建3.1 下载解压3.1.1 上传解压 3.2 修改 Kafka 配置文件3.2.1 修改z…