HTML入门

2023-11-05

web前端

前端开发也叫web前端开发,它指的是基于web的互联网产品的页面(也可叫做界面)开发及功能开发。

1.认识HTML

HTML是Hyper Text Markup Language(超文本标记语言)的缩写,是构成web页面的基本元素,是一种规范,一种标准。

HTML不是一种编程语言,而是一种描述性语言,通过标识符来标识网页中内容的显示方式,例如图片的显示尺寸、文字的大小、颜色、字体等。

浏览器能够对这些标记进行解释,按照要修显示出文字、图像、动画、媒体等网页内容。

HTML5是HTML的一个版面,该版本新增与优化了很多内容。现如今,几乎所有世面流行的浏览器都能很好的支持HTML5。

2.网页基础知识

2.1 HTML模板的基本含义

<!DOCTYPE html> <!--规定了浏览器文档使用哪种规范,以前需要在后面写上很长一串规范地址,现
今HTML5规范无须额外指定-->
<html lang="zh-cn"> <!--所有网页最大的结构 网页中所有的标签存放在html标签中-->
<head> <!--网页的头部 告诉浏览器一些相关的信息-->
<meta charset="UTF-8"> <!--表示网页编码格式 推荐UTF-8国际编码,常用的还有
gbk国标-->
<title>Title</title> <!--网页标题-->
</head>
<body> <!--网页的主体 我们所看的网页结构 都是在body中的-->
</body>
</html>

2.2 标签知识

  • <>包裹的关键词称为标签
  • 标签分为单标签和双标签
  • <> 之间除了标签名外,还可以有属性="值" 的各种属性设置

2.3 HTML的lang属性

  • lang 放在<html lang="en"></html>
  • 主要用于决定浏览器是否自动弹出翻译框
  • 常用的值:en 代表英文网页,不管你写的内容是否是英文,打开该网页,浏览器都会弹出提示翻译框
  • 常用值zh-cn 代表网页是一个中文网页,浏览器打开该网页,不会弹出翻译提示框

2.4 结构与样式

  • 结构:body中书写的内容会展示在浏览器可视区中,每个标签都有默认的样式
  • 样式:通过编写css代码可以改变各个内容的样式

2.5 前端代码书写规范

  • 标签、属性名以及相关符号均在英文半角状态下的小写
  • id、class必须以字母开头
  • 所有双标签必须闭合
  • 根据层次结构对标签进行tab缩进
  • 属性值必须带引号,单双引号都可以

3.认识标签

3.1 块级标签

  • div标签

div 标签用于将文档划分为独立的、不同的部分,从而构成一个完整的网页。网页的主体骨架一般由div 搭建,每一个单独的div模块中也可继续搭建局部的div骨架。

  • H系列标签

h1~h6标签用于标识网页内容的标题,标签中的文字会默认出现不同程度的加粗与增大。

在一个网页中h1 标签最好是有且仅有一个,这样有利于SEO优化,其他h标签可以根据需要出现多次。

  • p标签

p标签中通常用来放置一段文字。

注意:p标签中不可以放div 标签(任意块标签),这样会导致在浏览器中p标签被分成两个

  • ul 标签

ul 标签用于展示无序的列表内容,规范上,其子标签必须是li

<!--举例:展示新闻信息-->
<ul>
<li>今日全省气温高达37.5摄氏度</li>
<li>EDG战队获得全球总决赛冠军</li>
<li>你好皮卡丘</li>
<li>你好唐老鸭</li>
</ul>

ul 列表前默认有实心原点符号,可以通过修改type 属性来改变这个符号。但是更推荐通过CSS来对其进行修改,这样更符合结构与样式分离的理念。

语法:<ul type="value">

属性值:

disc 实心圆(默认值)。

circle 空心圆。

square 实心方块
  • ol 标签

ol 标签用于展示有序的列表, **规范上,其子标签必须是li **

<ol>
<li>打开冰箱门</li>
<li>将大象放进冰箱</li>
<li>关上冰箱门</li>
</ol>

ol 列表前默认有实心原点符号,可以通过修改type 属性来改变这个符号。但是更推荐通过CSS来对其进行修改,这样更符合结构与样式分离的理念。

语法:<ol type="value">

属性值value:

描述
1 默认值,数字有序列表。1,2,3,4
a 按字母顺序排列的有序列表。a、b、c、d
A 按字母顺序排列的有序列表。A、B、C、D
i 罗马字母,小写。i,ii, iii,iv
I 罗马字母,大写。I,II,III,IV

3.2 行内标签

  • span 标签

span标签用于包裹文字,视觉上不会产生任何变化,但我们可以配合css添加特殊的样式,

例如:

<p>
    让span包裹的文字
    <span style="color:green">变绿色</span>
</p>
  • a 超链接标签

a 标签最常用于形成一个可点击的超链接:

<a href="https://www.baidu.com">点我跳转到百度</a>

通过target 属性可以指定打开链接的位置

语法:

<a href="https://www.baidu.com" target="_blank">点我跳转到百度</a>
描述
_blank 新标签页打开
_new 新标签页打开,但所有的new指挥打开一个新标签页
_self 默认,在当前标签页打开
  • img 标签

img 标签用于在网页中引入一张图片

<img
src="https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png">

src:指定图片路径
width/height:指定img显示的大小
  • b 标签、strong 标签

文字加粗,b标签仅为视觉上的加粗,strong标签还能够被搜索引擎检索

  • i 标签、em 标签

文字斜体,i 标签仅为视觉上的斜体,em 还能够被搜索引擎检索

  • br 标签

文本换行

  • hr 标签

横线分割

3.3 特殊字符

在HTML书写某些特殊字符的时候,可能会遇到问题,比如要在网页里面显示字符 <> ,就有可能和我们的标签冲突,所以有些特殊字符需要用对应代替的写法(字符实体)表示:

  • <>&lt;&gt;代替
  • 连续空格会被忽略,如果需要使用多个连续空格使用&nbsp;代替

更多符号请参考:HTML 实体符号参考手册

4.表单

4.1 form标签

  • 定义

form 标签是以恶搞用于存储单元素的区域;

form 知识一个大的区域,里面提供数据输入和采集的是很多表单控件元素完成的。

  • 写法
<form action="地址" method="get" target="_blank">
    <!-- 各种表单控件元素 -->
</form>
属性 描述
action 表单提交时,往哪个地址提交
methon 表单提交数据的方式,一般有get和post两种
target 提交数据后,后端返回新页面在哪里打开,取值和 a 标签里的target一样
entype 设置编码格式

4.2 表单控件

表单控件的作用是采集用户的数据然后提交到后端,所以所有的控件必须有namevalue属性,并且除了单选和多选之外,所有的控件name都不能相同。

  • input

input元素是单个标签,它的标签属性type 的不同,可以使它的意义不同:

<!-- case 1 : 单行文本输入框 value属性为输入的内容,所以可以不写 -->
<input type="text" name="名字" placeholder="这里可以写提示文字" />
<!-- case 2 : 单行密码输入框 value属性为输入的内容,所以可以不写 -->
<input type="password" name="名字" />
<!-- case 3 : 单选按钮,一组选项name必须相同,value必须不同(value值随便定义),一般需要后面写文字辅助选择 -->
<input type="radio" name="sex" value="" /><input type="radio" name="sex" value="" /><input type="radio" name="Country" value="0" />中国
<input type="radio" name="Country" value="1" />美国
<input type="radio" name="Country" value="2" />日本
<input type="radio" name="Country" value="3" />其他
<!-- case 4 : 多项选择 name建议相同,传值时是所有选中项的value集合 -->
<input type="checkbox" name="hobby" value="游戏" />游戏
<input type="checkbox" name="hobby" value="学习" />学习
<input type="checkbox" name="hobby" value="看剧" />看剧
<input type="checkbox" name="hobby" value="锻炼" />锻炼
<input type="checkbox" name="hobby" value="旅游" />旅游
<!-- case 5 : 重置按钮,点击重置所有表单中所有的控件,按钮文字默认"重置",可以定义value
改变文字显示 -->
<input type="reset" />
<!-- case 6 : 空按钮,没有任何功能的空按钮,需要设置value值以供显示,一般用于js添加功能
事件 -->
<input type="button" value="按钮" /> <!--或者--> <button>按钮</button>
<!-- case 7 : 上传文件 -->
<input type="file" name="f" />
<!-- case 8 : 隐藏不显示的表单控件,用来传递附带的不需要向用户展示的信息 -->
<input type="button" name="hide" value="0" />
<!-- case 9 : 提交,点击之后提交该表单form的数据,默认value是"提交" -->
<input type="submit" />
  • css3新增 input
<input type="number" />
<!-- 数字输入框 min 数字的最小值 max 数字最大值 step倍数-->
<input type="range" />
<!-- 数字滑块 min 数字的最小值 max 数字最大值 step倍数-->
<input type="time" /> 时间
<input type="date" /> 年月日
<input type="month" /> 年月
<input type="week" /> 年周
<input type="color" /> 颜色
  • label

辅助input进行选择

当我们进行单选或者多选时,必须点击input本身才可以选择,因为后面的文字知识一个视觉的辅助作用。但当我们通过给文字加上label标签然后将文字和input关联起来,点击文字,也可进行勾选。

label的 for 属性与 input 的 id 属性对应,例如:

<input type="radio" name="sex" value="1" id="sex1" /><label for="sex1"></label>
<input type="radio" name="sex" value="2" id="sex2" /><label for="sex2"></label>
  • 默认选中,禁止使用

默认选择:cheched 标签属性,单选或者多选时,可以指定初始默认已被选中的项。

禁止使用:disabled 标签属性。规定input禁止使用

  • 下拉选框

select 和 option 配合实现下拉选框:

<!-- name规定给select value规定给option并且不能相同 -->
<select name="subject">
<option value="none">---请选择学科---</option>
<option value="1">语文</option>
<option value="2">数学</option>
<option value="3">英语</option>
<option value="4">生物</option>
<option value="5">物理</option>
<option value="6">化学</option>
<option value="0">体育</option>
</select>
标签属性 描述
size 设置给select,规定select下拉时最多能显示几个
selected 设置给option,规定默认显示哪几个option
  • 表单控件分组

fieldset 和 legend 配合将多个表单控件根据需要分组;

fieldset 分组,legend 定义组标题

<form action="" medthod="" name="">
	<fieldset>
		<legend>注册信息</legend>
		用户名:<input type="text" name="user" />
		密 码:<input type="text" name="pwd" />
	</fieldset>
	<fieldset>
		<legend>个人信息</legend>
		姓名:<input type="text" name="name" />
		年龄:<input type="text" name="age" />
		性别:<input type="radio" name="sex" value="0" /><input type="radio"
name="sex" value="1" /></fieldset>
</form>

5.表格

table 标签定义一个表格,内部配合一些表格标签定义表格内容。

目前,使用table的情况比较少。

5.1 简单的表格

一般我们在使用表格时,需要用的标签有:table、tr、th、td

标签 描述
tr 定义表格的行,内容都是写在行里面
th 定义在行里面,字体会加粗,代表一列的标题
td 定义在行里面,代表每一项
<table>
	<tr>
		<th>学历</th>
		<th>职业</th>
		<th>薪酬</th>
	</tr>
	<tr>
		<td>大山</td>
		<td>大海</td>
		<td>沙漠</td>
	</tr>
	<tr>
		<td></td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>18</td>
		<td>20</td>
		<td>19</td>
	</tr>
</table>

5.2边框和边距

  • border

给table加上标签属性border 以使每个单元格都加上边框。该属性接收数字值,该值只能改变tabel的边框宽度,不能改变里面项目的边框宽度;

  • border-collapse:collapse;

给table加上CSS样式 border-collapse:collapse; 以使相邻单元格的边框合并,美化样式;

  • cellpadding

给table加上标签属性cellpadding以使每个单元格都加上padding,这个属性会受CSS样式的影响;

  • cellspacing

给table加上标签属性cellspacing以使每个单元格之间加上间隙,这个效果可以用CSS属性 border-spacing 代替

  • align

给td/th加上标签属性align可以设置文字对齐方式,类似于text-align的效果。

5.3其他样式

在使用table时,我们也可以使用CSS样式来协助控制整个table的展示,例如宽高,文字大小剧中加粗等都是需要用到的。除了border外,建议其他样式都使用CSS控制。

5.4 单元格合并

  • rowspan

rowspan属性规定单元格纵跨的行数(纵向合并)

<td rowspan="2"></td>
  • colspan

colspan属性规定单元格横跨的列数(横向合并)

<td colspan="2"></td>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML入门 的相关文章

  • 浮动CSS属性导致父div不继承高度?

    我在 div 中有一个元素设置为float right但是 它会导致最外面的 div 不环绕 这是jsfiddle http jsfiddle net W792X 5 for it 我试图让提交按钮在 div 内浮动 但设置该属性似乎会导致
  • 内部有图像的 CSS 响应式圆圈

    蓝色div有固定的高度和响应宽度 里面应该有一个相同高度的圆形图像 这是我尝试过的 https jsfiddle net xnkkrhnt 1 https jsfiddle net xnkkrhnt 1 如何使完美的中心圆始终为蓝色 div
  • 如何将表情符号水平居中?

    在非视网膜显示屏上 unicode 表情符号字符似乎溢出了其边界框 但在视网膜显示屏上 它仍保留在字符边界内 那么如何在视网膜和非视网膜显示屏上将表情符号水平居中在 div 中呢 非视网膜 Retina 这适用于视网膜屏幕 但在非视网膜显示
  • 在使用 jQuery 拖动时向元素添加 CSS 类

    是否可以在元素被拖动到特定区域时向其添加 CSS 类 并在元素被删除后替换该类 我并不是到处寻找这个功能 而是只在特定区域寻找这个功能 是的 这当然有可能 jQuery UI 提供了一些方便的选项和事件来执行此操作 对于初学者来说 可拖动元
  • 让两个按钮彼此相邻

    我的设计有问题 我的产品页面上有两个按钮 然而 由于其中一个处于表格中 因此它们彼此叠置 参见图片 我想让这两个按钮彼此相邻 有人可以帮我吗 下面我添加了 HTML 和 CSS 代码 提前致谢 HTML div class containe
  • 如何使选择框水平和垂直居中

    我正在尝试将选择框水平和垂直居中 这是 jsfiddle http jsfiddle net j3r9Lp81 http jsfiddle net j3r9Lp81 CSS div currency text align center HT
  • 粉碎一个元素,向随机方向发送碎片

    我试图 粉碎 一个元素 例如 一个图像 并将其碎片朝随机方向飞行 当碎片到达目的地时 即x距离 以像素为单位 它们变成原始图像的较小版本 jQuery UI 的explode http api jqueryui com explode ef
  • 上传前如何检查图片的宽度和高度

    对于图片上传 我编写了以下 html 代码
  • CSS 属性名称中的“font-”与“text-”

    CSS 属性名称中使用的术语 文本 和 字体 有什么区别 它们的含义是否相同 或者以以下开头的 CSS 属性名称之间是否存在语义差异font 和一个开头text 例如 为什么我们有这些 CSS 属性 font size 34px text
  • IE 上具有最小宽度的内联跨度

    Hi我有 3 个SPAN那一定是inline并且有和一个min width 显然在 IE 上 SPAN不能有一个min width 我尝试使用DIV但当我把它放在inline the min width是忽略 CSS span displa
  • 如何使用 Angular CLI 添加应用程序范围的 CSS 文件?

    我想向我的 Angular 2 应用程序添加一些分片样式 例如字体和配色方案等将在任何地方使用的东西 过去 我总是通过在索引页面添加这样的标签来完成此操作 这不适用于 CLI 用于为应用程序提供服务的任何内容 我尝试在构建后手动将 css
  • Bootstrap 3 - 模态背景不会根据模态对话框的高度调整大小?

    我将一个表单放入模式中 并尝试在用户触发单选按钮时显示表单的一些隐藏字段 显示隐藏字段后 模态自动重新缩放的高度 但模态背景的高度不能用作模态对话框 我该如何解决它 div class modal fade div class modal
  • 手机上的网页滚动条可以隐藏吗?

    我正在尝试在移动设备上隐藏滚动条 一切在桌面上看起来都很好 没有滚动条 但是当我检查某些 Android 设备 ipad 时 我仍然可以看到灰色 细小的拇指 可以从浏览器中隐藏预定义的滚动条 我的代码 在桌面上运行良好 body webki
  • Bootstrap - 为反向行模式创建移动自适应

    我想用 Bootstrap 创建一个反向效果 第一行 左边是文字 右边是图像 第二行 左边是图片 右边是文字 第三行 左边是文字 右边是图片 第四行 左边是图片 右边是文字 而且这种情况一直持续下去 它在大型设备上看起来非常漂亮 但当它在设
  • 如何使用溢出滚动设置 tbody 高度

    我在设置 tbody 高度宽度溢出滚动时遇到问题 h3 Table B h3 table style border 1px solid red width 300px display block thead tr td Name td td
  • Chrome 将 0 宽度的表格单元格显示为 1px

    在 Firefox 中 我相信是正确的 由于 width 0 看不到红色 div 但在 Chrome 中 它显示为具有 1px 宽度 这似乎是最新版本 Chrome 的问题 这把小提琴 http jsfiddle net bFZf4 显示问
  • 如何将内部 div 与外部 div 的底部对齐?

    我需要将内部 div 与外部 div 的底部对齐 我的代码如下所示 div class myOuterDiv div class div1 floatLeft Variable content here div div class div2
  • 如何在严格模式下设置元素样式属性?

    Given body document getElementsByTagName body 0 iframe document createElement iframe iframe src protocol settings script
  • 如何在 CSS 中使用 3 位颜色代码而不是 6 位颜色代码?

    我最近检查了我的 CSS 文件 并将所有六位十六进制代码转换为简单的三位数代码 例如 我的 FDFEFF被缩短为 FFF 它呈现的颜色与以前几乎完全相同 在我看来 中间部分相当无用 删除它们在我的 CSS 文件中节省了整整 300 个字节
  • HTML 和 CSS 的基本编码标准 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道它们是否是像 PSR 01 这样的 HTML 和 CSS 基本编码标准 我尝试谷歌搜索和搜索 但没有找到 我建议看看类似的东西

随机推荐

  • MQ 消息丢失、重复、积压问题,如何解决?

    MQ是面试中比较高频的问题 下面分享下MQ的常见问题 面试官在面试候选人时 如果发现候选人的简历中写了在项目中使用了 MQ 技术 如 Kafka RabbitMQ RocketMQ 基本都会抛出一个问题 在使用 MQ 的时候 怎么确保消息
  • Objective-C非正式协议和分类的区别

    当一个项目需要使用到一些通用的方法 这些方法需要在多个类中使用 那么我们就可以使用非正式协议来定义这些方法 以便于多个类之间共享这些方法 比如 我们可以定义一个名为 Utilities 的非正式协议 并在其中定义一些通用的方法 比如 Uti
  • 最大熵模型

    1 什么是最大熵原理 例子1 假设随机变量X有5个取值 A B C D E 要估计各个值的概率P A P B P E 这些概率值满足条件P A P B P C P D P E 1 但是满足这个条件的概率分布有无数个 如果没有其他信息 一个可
  • vue项目打包及配置跨域

    一 配置 proxy 跨域 module exports devServer open true 自动启动浏览器 host localhost localhost port 8080 端口号 hotOnly false 热更新 overla
  • python四行代码生成“年月日”格式的日期列表序列

    代码如下 import pandas as pd start 20110101 end 20161231 dates pd date range start end strftime Y m d to list 代码运行结果如下 需要说明的
  • 使用Typora将Markdown内容导出为Word(.docx)

    使用Typora将Markdown内容导出为Word docx 操作步骤 01 下载并安装Typora 自行前往Typora官网下载 傻瓜式安装 此处就不再做多余的解释 02 安装Pandoc 2 1 pandoc官网下载 真不知道怎么从这
  • Mongodb 定义model中的某个属性 保存任意类型

    参考 Mongoose5 0 文档http www mongoosejs net docs schematypes html 一个啥都可以放的 SchemaType 虽然便利 但也会让数据难以维护 Mixed 可以通过 Schema Typ
  • Spring @Scheduled @Async联合实现调度任务

    定时任务之前一直用的是quartz之类 但是注意到Spring中其实也提供了一种简单的调度注释 Scheduled 也就想尝一下鲜 代码示意如下 Component EnableScheduling public class AsyncTa
  • C++ primer plus 第六版 第十一章 复习题

    第十一章 复习题 1 Stonewt Stonewt operator double n const Stonewt result double total stn Lbs per stn n lbs n result stn total
  • RabbitMQ(三)手动Ack确认

    默认情况下 spring boot data amqp 是自动ACK机制 就意味着 MQ 会在消息发送完毕后 自动帮我们去ACK 然后删除消息的信息 这样依赖就存在这样一个问题 如果消费者处理消息需要较长时间 最好的做法是消费端处理完之后手
  • javascript enval()函数与JSON 之间关系

    概念定义 eval 函数可计算某个字符串 并执行其中的的 JavaScript 代码 enval 函数将把最后一个表达式或者语句所包含的值或引用作为返回值 举例说明一 eval javascrit表达式
  • 关于召开“CIE2019第三届中国IT教育论坛”的通知

    各相关高校 伴随着人工智能 智能制造 云计算 虚拟现实 5G等新技术的发展与日益成熟 全球范围内的新科技革命悄然打响 新一轮科技革命正在重塑世界竞争格局 以新技术 新业态 新产业为特点的新经济蓬勃发展 我国急需培养一批集学科 技术和产业思维
  • ubuntu18.04下mysql数据库安装和C语言连接操作

    数据库在应用系统开发中很常见 在众多的数据库中 mysql总是会占有一席之地 本篇说明一下如何在ubuntu18 04上安装mysql数据库 目录 1 更新环境 2 安装mysql数据库系统 3 检测是否安装成功 4 启动 重启 关闭 删除
  • CLion用于STM32开发

    最近想要复现稚晖君的ElectronBot 发现32的代码用的CLion编写的 而且是C和C 混编的 本来想着用keil再写一个 但是有点浪费时间 而且发现CLion学生可以白嫖 反正以后都要学习C 所以现在就装上吧 注 最终的效果只能下载
  • 克服过拟合和提高泛化能力的20条技巧和诀窍

    克服过拟合和提高泛化能力的20条技巧和诀窍 你是如何提升深度学习模型的效果 这是我经常被问到的一个问题 有时候也会换一种问法 我该如何提高模型的准确率呢 或者反过来问 如果我的网络模型效果不好 我该怎么办 通常我的回答是 具体原因我不清楚
  • 数据结构——查找

    一 查找的基本概念 查找 在数据集合中寻找满足某种条件的数据元素的过程称为查找 查找表 查找结构 用于查找的数据集合称为查找表 它由同一类型的数据元素 或记录 组成 关键字 数据元素中唯一标识该元素的某个数据项的值 使用基于关键字的查找 查
  • 智能合约安全分析,假充值攻击如何突破交易所的防御?

    智能合约安全分析 假充值攻击如何突破交易所的防御 引言 假充值攻击 是指攻击者通过利用交易所在处理充值过程中的漏洞或系统错误 发送伪造的交易信息到交易所钱包地址 这些伪造的交易信息被交易所误认为是真实的充值请求 并将对应的数字资产或货币添加
  • javascript判断数组和对象中是否存在某元素

    javascript判断数组和对象中是否存在某元素 判断数组 是否存在某个元素 可以用数组的indexOf函数 方法arr indexOf find start find 要找的内容 必须 start 查找开始下标 可选 返回 查找数据所在
  • 【Python】os.path.expanduser() 函数的理解和举例说明

    文章目录 一 函数说明 二 实例说明 一 函数说明 os path expanduser 是 Python 中 os path 模块中的一个函数 用于将路径字符串中的波浪线 扩展为用户的主目录 它的作用是提供跨平台的路径展开功能 使得路径可
  • HTML入门

    web前端 前端开发也叫web前端开发 它指的是基于web的互联网产品的页面 也可叫做界面 开发及功能开发 1 认识HTML HTML是Hyper Text Markup Language 超文本标记语言 的缩写 是构成web页面的基本元素