初识HTML
超文本标记语言(Hyper Text Markup Language, HTML)是一种用于描述数据结构的标记语言,HTML文档是以<html>
为根节点的树状结构.
元素一般是指从开始标签到结束标签之间的HTML代码, 不过有一些元素只有开始标签, 没有内容和结束标签.
<p><a href="http://www.cnblogs.com"></p>
HTML通常以序言<!DOCTYPE html>
开始, 表明这是HTML文档.根元素<html>
下有<head>
和<body>
两个子元素.
<head>
元素通常用来配置标题, 脚本, CSS和元信息等.<body>
标签用来描述页面.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Welcome</title>
</head>
<body>
<p>Hello world!</p>
</body>
</html>
head#
可以添加到<head>
下的标签包括:
-
<title>
标题 -
<meta>
元信息 -
<link>
链接到外部资源 -
<script>
脚本 -
<style>
样式表 -
<base>
默认链接
这里只介绍<meta>
元素, 其它元素留在下文介绍.
<meta>
元素用于维护元信息, 元信息是指描述HTML文档自身属性的信息, 比如作者, 字符集等:
-
文档字符集
<meta charset="utf-8">
-
作者
<meta name="author" content="finley">
-
文档描述
<meta name="description" content="">
-
文档关键字
<meta name="keywords" content="HTML, HTML5">
, 用于搜索引擎 -
自动刷新
<meta http-equiv="refresh" content="30">
, 每30s自动刷新
body#
<body>
标签标记的元素用于描述HTML页面的内容, 其可以包含的元素非常多
-
段落
<p></p>
-
加粗文字
<b></b>
-
斜体文字
<i></i>
-
水平分割线
<hr>
-
换行
<br>
-
各级标题
<h1>
-<h6>
-
区块
<div>
, 常做布局容器,与CSS搭配可以实现丰富的效果 -
按钮
<button>
表格#
用于标记表格元素的标签有:
-
表格
<table>
-
表头(Table Header)
<th>
-
行(Table Row)
<tr>
-
单元格(Table Data)
<td>
示例:
<table border="1">
<caption>A Table</caption>
<tr>
<th>column1</th>
<th>column2</th>
</tr>
<tr>
<td>(1,1)</td>
<td>(1,2)</td>
</tr>
<tr>
<td>(2,1)</td>
<td>(2,2)</td>
</tr>
</table>
效果:
column1 | column2 |
---|---|
(1,1) | (1,2) |
(2,1) | (2,2) |
列表#
用于标记列表的标签有:
-
无序列表(Unodered List)
<ul>
-
有序列表(Ordered List)
<ol>
-
列表项(List Item)
<li>
示例:
<ul>
<li>HTML</li>
<li>CSS</li>
</ul>
<hr>
<ol>
<li>HTML</li>
<li>HTML5</li>
</ol>
效果:
- HTML
- CSS
- HTML
- HTML5
HTML支持自定义多级列表:
-
自定义列表(Defined List)
<dl>
-
自定义列表项
<dt>
-
列表项定义
<dd>
示例:
<dl>
<dt>Markup</dt>
<dd>HTML</dd>
<dd>Json</dd>
<dt>Program</dt>
<dd>JavaScript</dd>
<dd>Python</dd>
</dl>
效果:
- Markup
- HTML
- Json
- Program
- JavaScript
- Python
图像#
<img>
标签用于标记图像元素:
<img src="html5_logo.jpg" alt="img not found" width="304" height="228">
alt属性指定图片加载失败时显示的替代文本.
效果:
更多关于多媒体的内容,请参见HTML5介绍.
表单#
表单元素用<form>
标签标记, 用于向服务器提交数据:
-
表单
<form>
-
输入框
<input>
-
标签
<label>
-
下拉菜单
<select>
-
下拉选项
<option>
其中input是最常用的元素,它使用type
属性指定字段的类型.
-
文本输入框
text
-
密码输入框
password
-
隐藏字段
hidden
-
单选框
radio
-
多选框
checkbox
-
提交按钮
submit
字段与提交#
示例:
<form action="/login" method="post">
<input type="hidden" name="token" value="finley_token">
<label>username: <input type="text" name="username"></label>
<label>password: <input type="password" name="password"></label>
<input type="submit" value="submit">
</form>
效果:
<form action="/login" method="post">
action
属性指定表单提交目标的url, method指定提交的HTTP方法.
<input type="hidden" name="token" value="finley_token">
隐藏字段,不渲染为可视组件. name属性指定字段名, value属性指定字段值.
即表单提交时会在请求中添加"token":"finley_token"
参数.
<input type="text" name="username">
文本字段, 渲染为文本输入框. name指定字段名, 用户输入内容为字段值.
<input type="password" name="password">
密码字段,渲染为密码输入框. 其它与text相同, 若不加处理该字段使用明文提交.
<input type="submit" value="submit">
提交按钮, 渲染为按钮. 不产生字段, 当按钮被单击时表单内容将会被提交.
value属性指定按钮上显示的文字, 若不指定该属性默认显示'Submit'.
下拉菜单#
示例:
<form action="/register" method="post">
<select name="gender">
<option value="1">male</option>
<option value="2">female</option>
</select>
</form>
效果:
select的name属性定义字段名, option的value属性定义选中该项时的字段值.
单选框#
示例:
<form action="/register" method="post">
<div>
<label><input type="radio" name="gender" value="male">Male<label>
<label><input type="radio" name="gender" value="female">Female<label>
</div>
<div>
<label><input type="radio" name="accept" value=1>Yes<label>
<label><input type="radio" name="accept" value=0>No<label>
</div>
<br><input type="submit">
</form>
效果:
同一个元素下的单选框是互斥的,被选中的单选框会添加name属性指定的字段,字段值由value属性指定;若无单选框被选中,则不会添加任何radio
指定的字段.
因为单选框的互斥特性,可以将互斥的单选框指定同一个字段名.
多选框#
示例:
<form action="/register" method="post">
<label><input type="checkbox" name="js" value=1>javascript<label>
<label><input type="checkbox" name="py" value=1>python<label>
<label><input type="checkbox" name="java" value=1>java<label>
<br><input type="submit">
</form>
效果:
作者:finley
出处:https://www.cnblogs.com/Finley/p/5777657.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!