〖Web全栈开发④〗— HTML基础详讲(超详细)

news2024/9/30 1:33:36

HTML基础详讲

  • (一)HTML基础
    • 1.1浏览器发展史
    • 1.2浏览器的诞生和发展
  • (二) 什么是网页
    • 2.1 网站是什么?
    • 2.2 什么是网站
    • 2.3 网站服务器
    • 2.4 总结
  • (三)HTML基础
    • 3.1 什么是HTML
    • 3.2 HTML标签
    • 3.3 实例
    • 3.4 HTML常用标签
      • 3.4.1 标题标签(h1-h6)
      • 3.4.2 段落标签(p)
      • 3.4.3 换行标签(br)
      • 3.4.4 水平线标签(hr)
      • 3.4.5 图片标签(img)
      • 3.4.6 超链接标签(a)
      • 3.4.7 列表标签
      • 3.4.8 文本格式标签
      • 3.4.9 表格(table)
      • 3.4.10 表单
      • 3.4.11表单域
      • 3.4.12表单控件
      • 3.4.13特殊字符
      • 实战演示
        • 实现如下样式的表单:

🏘️🏘️个人简介:以山河作礼。
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主
🎁🎁:Web全栈开发专栏:《Web全栈开发》免费专栏,欢迎阅读!


(一)HTML基础

1.1浏览器发展史

浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示HTML文档、PDF、图片、视频等网络内容。这些网络资源的位置由用户使用
URI(统一资源标示符)来指定指定。

或许在大多数人眼中,浏览器是这样的:

在这里插入图片描述

一个展示前端,一个未知的中间层连接着网络世界

甚至,网络世界也可以省略:一台显示器,一个神秘的幕后黑盒。

1.2浏览器的诞生和发展

浏览器诞生于上个世纪八九十年代

下图展示的是几款浏览器的图标:
在这里插入图片描述

  • 同学们可能想知道 Web 浏览器到底是什么,简而言之,它是一个计算机程序(软件)。

  • 当我们在浏览器中输入内容(URL)时,实际上是在输入地址,浏览器将使用该地址来获取我们想要查看的信息。

  • 浏览器的另一个关键功能是以易于理解的方式向您解释和呈现计算机代码,这个过程叫做渲染。

  • 1990年:Timothy John Berners-Lee 设计并构建了第一个浏览器(WorldWideWeb),后来改名为Nexus;

  • 1993年:NCSA(美国国家超级计算应用中心)中Mosaic项目的负责人Marc Andreessen辞职并建立了网景通讯公司;

  • 1995年:微软推出IE1.0浏览器;

  • 1998年:网景浏览器与微软的IE浏览器竞争失利后,网景公司成立了Mozilla 基金会组织,并开源其浏览器代码; 同年KHTML诞生;

  • 2001年:苹果将把WebKit作为KHTML的一个分支开始研发;

  • 2002年:苹果采纳了KHTML,作为Safari的浏览器内核;

  • 2003年:苹果发布Safari浏览器;

  • 2004年:Mozilla Firebird改称Mozilla Firefox,简称Firefox;

  • 2005年:苹果宣布将WebKit完全开源;

  • 2008年:谷歌把WebKit为内核,开始了Chromium项目的研发;

  • 2013年:谷歌宣布与苹果的WebKit分道扬镳,在Chromium项目的基础上研发Blink内核 ;

  • 2015年:win10发布,并将Edge作为内置浏览器;

(二) 什么是网页

2.1 网站是什么?

网站是由一个一个网页构成的,要想理解网站是什么,首先要理解网页是什么。

网页其实就是放在服务器上的一个文件,当我们浏览网页时,这个文件会被下载到我们本地的电脑,然后再由浏览器解析,渲染出各种漂亮的界面,比如表格、图片、标题、列表等。

  • 网页文件的后缀有很多种,比如.html.php.jsp.asp等 但不管网页的后缀是什么,它的本质都是一样的,就是由
    HTML 代码构成的纯文本文件。

示例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>这是网页标题</title>
</head>
<body>
    <p>这是一段文本</p>
    <a href="http://c.biancheng.net/">这个一个超链接</a>
    <ul>
        <li>条目1</li>
        <li>条目2</li>
        <li>条目3</li>
    </ul>
</body>
</html>

在这里插入图片描述

这就是 HTML 代码!我们可以看到很多由<>包围的特殊标记,这叫做 HTML 标签(Tag),浏览器通过识别这些 HTML 标签来渲染出各种界面和效果。

2.2 什么是网站

一个网站由很多网页组成,可以将多个网页放在一个文件夹中。

可以认为,网站就是一个绑定了域名的文件夹,该文件夹中可以包含子文件夹以及各种各样的文件,这些文件都可以通过域名来访问。

当然,你也可以不绑定域名,只要在服务器上设置某个文件夹提供 Web 服务,用户也可以通过 IP 地址来访问。

互联网上的所有服务器都是通过 IP 地址来定位的,域名只是 IP 地址的一种助记符,帮助用户记住网站的链接以及品牌。使用域名访问网站时,浏览器会先找到域名对应的 IP 地址,然后再通过 IP 地址请求服务器上的文件;这个过程叫做域名解析,是通过 DNS 服务器来完成的。

网站的作用是把计算机上的数据(文章、博客、图片、视频等)分享出去,让别人也能获取到有用的信息;同时,别人也能发布自己的数据(发布文章、留言、上传视频等),让网站的内容更加丰富。网站和用户之间是一个相互促进的关系,网站用户越多,积累的数据也就越多,然后就会吸引更多用户继续分享数据,这是一个良性循环,是一个健康的生态。

网站是互联网的基石,它让用户获取信息,也让用户分享信息,所以现在的互联网才能丰富多彩。

2.3 网站服务器

我们都知道网站放在服务器上,服务器其实就是一台计算机,它和我们平时使用的笔记本、台式机并没有什么区别,都由主板、CPU、内存、风扇等部件构成。不过,服务器一般是不带显示器、键盘、音响等外设的(当然它也支持这些外设),因为服务器的唯一用途就是运行网站,没有其它作用,所以用家庭台式机的主机箱来类比服务器更加恰当。

服务器一般放在专业的机房中,这些机房温度恒定、网络畅通、有备用电源、有容灾备份,能够保证服务器 7×24 小时不间断运行。

另外,为了让服务器能够放入机柜中,避免占用太多空间,服务器一般看起来很薄,是扁平的,这就是人们常说的“刀片”。
在这里插入图片描述

在这里插入图片描述

2.4 总结

网站可以认为是放在服务器上的一个文件夹,它包含了很多网页文件以及很多子文件夹。用户访问网站就是读取文件的内容,用户分享数据就是修改文件的内容,或者删除现有的文件,或者创建一个新的文件。

(三)HTML基础

3.1 什么是HTML

HTML是用来描述网页的一种语言。

  • HTML指的是超文本标记语言(Hyper Text Markup Language)
  • HTML不是一种编程语言,而是一种标记语言(markup language)
  • 标记语言是一套标记标签(markup tag)
  • HTML使用标记标签来描述网页

3.2 HTML标签

HTML 标记标签通常被称为 HTML 标签 (HTML tag)。

  • HTML标签是由尖括号包围的关键词,比如<html>
  • HTML标签通常是成对出现的,比如<b>和</b>
  • 标签对中的第一个标签是开始标签,第二个标签是结束标签
  • 开始和结束标签也被称为开发标签和闭合标签

3.3 实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>我的第一个标题</h1>
    <p>我的第一个段落</p>
</body>
</html>

在这里插入图片描述

例子解释:

  • <html>与</html>之间的文本描述网页
  • <body></body>之间的文本时可见的页面内容
  • <h1>与</h1>之间的文本被显示为标题
  • <p>之间的文本被显示为段落</p>

3.4 HTML常用标签

3.4.1 标题标签(h1-h6)

  • <h1>一级标题</h1>
  • <h2>一级标题</h2>
  • <h3>一级标题</h3>
  • <h4>一级标题</h4>
  • <h5>一级标题</h5>
  • <h6>一级标题</h6>

3.4.2 段落标签(p)

  • <p>第一个段落</p>
  • <p>第二个段落</p>

主要用于将一段内容裹起来,便于后期的统一设置

p标签本身没有效果,标签内的内容与标签外的内容空一行(自动换行)

3.4.3 换行标签(br)

  • <br/>

此标签属于单标签

3.4.4 水平线标签(hr)

  • <hr/>

此标签属于单标签

3.4.5 图片标签(img)

  • <img src='图片地址'/>

3.4.6 超链接标签(a)

  • <a herf='xxx.html'>我的第一个超链接</a>

超链接:使用超链接可以访问另一个页面 # web项目 音乐网站

3.4.7 列表标签

  1. 有序列表

    <ol>
        <li>登录</li>
        <li>注册</li>
        <li>退出</li>
    </ol>
    
  2. 无序列表

    <ul>
        <li>登录</li>
        <li>注册</li>
        <li>退出</li>
    </ul>
    

<li>表示列表项

3.4.8 文本格式标签

  • <strong></strong>加粗
  • <em></em>倾斜
  • <del></del>删除线
  • <ins</ins>下划线

在网页中,有时需要为文字设置粗体、斜体或者下划线效果,这时就需要用到HTML中的文本格式化标签,使文字以特殊的方式显示。

3.4.9 表格(table)

<table>
    <tr>  <!--表格第一行-->
        <td></td>  <!--表格第一行第一个空格-->
        <td></td>
        ……
    </tr>
    <tr>  <!--表格第二行-->
    	……
    </tr>
</table>

<table>用于定义一个表格

  • 合并单元格(难点)
    • 跨行合并:rowspan='个数'
    • 跨列合并:colspan='个数'

3.4.10 表单

一般用于搜集用户的信息。

在HTML中,一个完整的表单通常由表单控件、提示信息、表单域3个部分组成。
在这里插入图片描述

  1. 表单域:相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
  2. 表单控件:表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等
  3. 提示信息:一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。

3.4.11表单域

  • 是一个包含表单元素的区域

  • <form></form>标签用于定义表单域,会把范围内的表单元素信息提交给服务器

    属性属性值作用
    actionurl地址用于指定接收并处理表单数据的服务器程序的url地址
    methodget/post用于设置表单数据的提交方式,其取值为get或post
    name名称用于指定表单的名称,以区分同一个页面中的多个表单域

3.4.12表单控件

  • input:输入表单元素

    • type属性设置不同的类型(文本、单选、复选、按钮等)

    • type属性的属性值及描述如下:
      在这里插入图片描述

    • 除 type 属性外,<input> 标签还有很多其他很多属性,其常用属性如下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cxLYuAQq-1684496738508)(imgs\1677502231701.png)]

  • select:下拉列表单元素

    • <select>中至少包含一对<option>
    • <select>中定义selected='selected'时为默认选项
  • textarea:多行文本域元素

    • cols=“每行中的字符数”
    • rows=“显示的行数”
    • 以上两个操作实际开发中用的很少
  • 表单元素总结

    • 表单元素我们学了三大组
      • input输入表单元素
      • select下拉表单元素
      • textarea多行文本域表单元素

3.4.13特殊字符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TEA4Da2e-1684496738509)(imgs\1677503718572.png)]

实战演示

实现如下样式的表单:

在这里插入图片描述

HTML源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form>
    <!-- 用户名称-->
    用户名:<input name="user" type="text">
    <br>
    <br> <!-- 用户密码-->

    <label>&emsp;码:
        <input type="password" name="password">
    </label>

    <br>
    <br> <!-- 年龄-->&emsp;龄:<input name="age" type="text">
    <br>
    <br> <!-- 用户性别-->&emsp;别:
    &ensp;<label><input type="radio" name="gender" value="male"></label>
    &ensp;<label><input type="radio" name="gender" value="female"></label>
    <br>
    <br> <!-- 用户技能,可以单选也可以多选-->&emsp;能:
    <label>Python<input type="checkbox" name="skills" value="python"></label>
    <label>C++<input type="checkbox" name="skills" value="c++"></label>
    <label>Java<input type="checkbox" name="skills" value="java"></label>
    <label>C<input type="checkbox" name="skills" value="C"></label>
    <label>php<input type="checkbox" name="skills" value="php<"></label>
    <br>
    <br>&emsp;市: <!-- 用户所在城市,单选-->
    <select name="city">
        <option value="">请选择</option>
        <option value="beijing">北京</option>
        <option value="shanghai">上海</option>
        <option value="guangzhou">广州</option>
        <option value="shenzhen">深圳</option>
    </select>
    <label>
        <br><br>
    </label>
    自我介绍:
    <textarea name="introduction" rows="6"></textarea>
    </label>
    <br><br>
    <!-- 对输入数据进行重置 -->
    <input type="reset" value="重置">
    <input type="submit" value="提交">
</form>
</style>
</body>
</html>

运行结果:
在这里插入图片描述

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

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

相关文章

为什么每个C程序都需要一个叫做 main 的函数?

文章目录 1、为什么每个C程序都需要一个叫做main的函数&#xff1f;2、为什么 C 的 main 函数可以通过调用 exit 或者执行一条 return 语句来结束&#xff0c;或者两者都不做&#xff0c;而程序依然可以正确终止&#xff1f; 1、为什么每个C程序都需要一个叫做main的函数&#…

论文阅读记录(1)

这一周读了2021cvpr的《Learning to Filter: Siamese Relation Network for Robust Tracking》。这篇文章的创新点&#xff1a; Relation Detector。关系检测器。关系检测器在本文中以元学习的方式执行&#xff0c;以获得从背景中过滤干扰物的能力。Refinement Module。x细化模…

canal学习-运行canal-adapter源码并记录解决报错问题(包含缺失的jar文件)(一)

运行canal-adapter 1. 下载canal源码1.1 下载源码并安装好环境1.2 查看目录结构 2.项目运行2.1 项目打包2.2 项目打包可能遇到的问题&#xff1a;1.Failure to find com.alibaba.otter:connector.tcp:jar:jar-with-dependencies:1.1.52.com.alibaba.druid.pool.DruidDataSource…

数字信号处理基础(三):FIR滤波器的设计

目录 1. 滤波器1.1 低通滤波器1.2 高通滤波器1.3 带通滤波器1.4 带阻滤波器 2. 完整代码3. 结果图 1. 滤波器 1.1 低通滤波器 低通滤波器需要知道低通截止频率&#xff0c;然后采用以下代码实现 % 低通滤波器设计 fp2*10000; % 低通滤波器截止频率&#x…

安全测试之使用Docker搭建SQL注入安全测试平台sqli-labs

1 搜索镜像 docker search sqli-labs 2 拉取镜像 docker pull acgpiano/sqli-labs 3 创建docker容器 docker run -d --name sqli-labs -p 10012:80 acgpiano/sqli-labs 4 访问测试平台网站 若直接使用虚拟机&#xff0c;则直接通过ip端口号访问若通过配置域名&#xff0…

2023-5-20-各种编译器的全面学习

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

网站投票软件投票链接制作软件投票链接小程序投票程序

近些年来&#xff0c;第三方的微信投票制作平台如雨后春笋般络绎不绝。随着手机的互联网的发展及微信开放平台各项基于手机能力的开放&#xff0c;更多人选择微信投票小程序平台&#xff0c;因为它有非常大的优势。 1.它比起微信公众号自带的投票系统、传统的H5投票系统有可以图…

LLVM-Clang交叉编译详细教程

文章目录 前言对比GCC与ClangClang交叉编译参数选项安装交叉编译器交叉编译生成二进制文件Target Arch列表Target Triple列表参考文档后话 前言 最近自己写了个C的小项目&#xff0c;想在Windows编译出其他平台的二进制文件的话&#xff0c;只能交叉编译了&#xff0c;于是就选…

性能测试-JMeter分布式测试及其详细步骤

性能测试概要 性能测试是软件测试中的一种&#xff0c;它可以衡量系统的稳定性、扩展性、可靠性、速度和资源使用。它可以发现性能瓶颈&#xff0c;确保能满足业务需求。很多系统都需要做性能测试&#xff0c;如Web应用、数据库和操作系统等。 性能测试种类非常多&#xff0c;…

深入学习《c语言函数》

&#x1f4d5;博主介绍&#xff1a;目前大一正在学习c语言&#xff0c;数据结构&#xff0c;计算机网络。 c语言学习&#xff0c;是为了更好的学习其他的编程语言&#xff0c;C语言是母体语言&#xff0c;是人机交互接近底层的桥梁。 本章学习函数。 让我们开启c语言学习之旅吧…

Mybatis管理数据库

快速入门 使用idea工具操作数据库使用Mybatis查询所有用户数据第一步创建springboot工程&#xff0c;数据库表user&#xff0c;实体类User第二步&#xff0c;引入Mybatis的相关依赖&#xff0c;配置Mybatis&#xff08;数据库连接信息&#xff09;第三步&#xff0c;编写sql语句…

Jmeter工具+ant+jenkins实现持续集成

jmeterantjenkins持续集成 一、下载并配置jmeter 首先下载jmeter工具&#xff0c;并配置好环境变量&#xff1b;参考&#xff1a; jmeter默认保存的是.jtl格式的文件&#xff0c;要设置一下bin/jmeter.properties,文件内容&#xff0c;保存jmeter.save.saveservice.output_f…

关于华为云负载均衡ELB健康检查显示离线的排查问题及解决办法

由于项目中经常涉及到检修升级操作&#xff0c;在进行检修升级时&#xff0c;服务就需要停止一段时间&#xff0c;检修结束后重启&#xff0c;在此期间相关的功能页面都将无法访问。甲方反馈&#xff0c;需要停止服务的检修工作暂时不予执行。因此&#xff0c;为了不耽误系统的…

低代码搭建制造管理系统,你要知道的哪些事~

随着数字化转型的推进&#xff0c;制造业也逐渐意识到数字化转型的重要性。数字化转型不仅可以提高制造业的效率和品质&#xff0c;还可以降低成本和提高客户满意度。在数字化转型中&#xff0c;低代码搭建制造管理系统是一种比较有效的方式。本文将介绍低代码搭建制造管理系统…

深入篇【C++】类与对象:再谈构造函数之初始化列表与explicit关键字

深入篇【C】类与对象&#xff1a;再谈构造函数之初始化列表与explicit关键字 Ⅰ.再谈构造函数①.构造函数体赋值②.初始化列表赋值【<特性分析>】1.至多性2.特殊成员必在性3.必走性&#xff1a;定义位置4.一致性5.不足性 Ⅱ.explicit关键字①.隐式类型转化②.作用 Ⅰ.再谈…

Spring Cloud Alibaba 集成 sentinel ,sentinel控制台不能检测到服务,但是在命令行配置启动参数就能看到服务

问题背景 Spring Cloud Alibaba 集成 sentinel &#xff0c;sentinel代码写的限流降级的功能都是好的&#xff0c;但是sentinel控制台不能检测到服务&#xff0c;在程序启动时配置JVM启动参数&#xff08;-Dcsp.sentinel.dashboard.serverlocalhost:18080 -Dproject.namename-…

分公司的负责人要如何承担责任

一、分公司的负责人要如何承担责任 1、分公司的负责人不需要承担责任&#xff0c;因为没有法人资格&#xff0c;没有独立的财产权。根据相关法律规定&#xff0c;分公司的债务由总公司承担连带责任&#xff0c;当然可以先由分公司的全部财产承担。 2、法律依据&#xff1a;《…

小白量化《穿云箭集群量化》(9)用指标公式实现miniQMT全自动交易

小白量化《穿云箭集群量化》&#xff08;9&#xff09;用指标公式实现miniQMT全自动交易 在穿云箭量化平台中&#xff0c;支持3中公式源码运行模式&#xff0c;还支持在Python策略中使用仿指标公式源码运行&#xff0c;编写策略。 我们先看如何使用指标公式源码。 #编程_直接使…

【2023秋招】每日一题:P1087-美团3-18真题 + 题目思路 + 所有语言带注释

2023大厂笔试模拟练习网站&#xff08;含题解&#xff09; www.codefun2000.com 最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据&#xff0c;挂载到我们的OJ上&#xff0c;供大家学习交流&#xff0c;体会笔试难度。现已录入200道互联网大厂模拟练习题&…

【C生万物】 指针和数组笔试题汇总 (下)

欢迎来到 Claffic 的博客 &#x1f49e;&#x1f49e;&#x1f49e; &#x1f449; 专栏&#xff1a;《C生万物 | 先来学C》&#x1f448; 前言&#xff1a; 承接上文&#xff0c;继续进行指针和数组的练习。 目录 Part2:指针笔试题 1.做题 …