博客列表 >初识HTML标签、属性与对HTML列表、表格、表单理解运用和编程实现-2019年8月31日

初识HTML标签、属性与对HTML列表、表格、表单理解运用和编程实现-2019年8月31日

best的博客
best的博客原创
2019年08月31日 23:33:17839浏览

什么是HTML标签、元素、属性

HTML,是英文Hyper Text Markup Language的首写字母组成的。翻译过来就是超文本标记语言。超文本是相对纯本文而言,可以包含非常丰富的信息,比如图片、视频、音频、网页上其他链接等等。而标记语言可以理解是和浏览器通过一种约定的方式来展示信息。

HTML标签很多,是由一对尖括号和尖括号中间的标签名组成的,<标签名>。比如<h1>,<img>,<p>,<ul>,<ol>,<li>。<img>这个可以称之为img标签,<p>可以叫做p标签。我认为标签,就是在文档的某个地方给了浏览器一个标记。浏览器可以通过标签来采取不同的渲染和处理方式。比如<h1>php中文网</h1>,出现在文档中,浏览器就知道“php中文网”是一个一级标题。而<img>标签,可以让浏览器知道这个地方需要加载一张图片。

需要注意的是,在HTML中,标签大部分是成对出现的,如<h1></h1>,<h1>是开始标签,</h1>是结束标签。还有一部分是单标签,比如<img>标签,是没有结束标签的。这些都可以自己去PHP中文网上查看HTML手册哦。

标签的属性,额外定义了标签的一些行为和表现方式。它总以“属性名=属性值”这种名值对的形式出现,而且属性总是在HTML元素的开始标签中进行定义。 写法如:<标签名 属性名 = “属性值”></标签名>

从浏览器角度看,属性是对标签的一种补充。有时候这种补充是必不可少的。比如<img>标签一定需要通过src属性来告知浏览器从哪里加载图片,<a>标签需要通过href属性来告知链接的具体地址。如果缺少这些属性,这2个标签可以说是名存实亡了。

那什么是元素呢?对浏览器来说,一个HTML页面,是有许许多多的元素共同的组成。而这些元素是由标签和内容构成的。

下面我们来分析一个标准的HTML文档结构来整体认识标签、元素、属性。

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
 <h1>PHP中文网</h1>
 <p>php中文网第八期课程上线啦!这是宣传图片<img src="存放图片的路径">,马上进入官网吧,<a href="https://www.php.cn">www.php.com</a></p>   
</body>
</html>

运行实例 »

示例解释:

<!DOCTYPE html>是HTML5的 文档类型声明,告诉浏览器这个一个html文档,写在第一行。

<html></html>是根元素,所有的HTML代码都要放在这对标签里面。<html>的开始标签里面有个lang属性,值为"en"。这个属性告诉了浏览器该文档的主体语言是英语。

<head></head>是头部元素,里面的代码信息是给浏览器看的,用户一般看不到。通常在在这个部分定义了编码格式,文档标题等等。

<body></body>是主体元素,这部分就是网页的主体内容,用户浏览网页看到的内容信息,都是这个部分的代码显示出来的。

<h1></h1>这个标签定义的一个一级标题,PHP中文网,而<p></p>定义了一个段落,段落里面还包括了<img>标签和<a>标签。

总结:从浏览器的角度看,<html><head><body><h1><p><img><a>这些标签和标签里面的内容构成了一个HTML页面。其中某些元素在浏览器看来是必不可少的。如<head><body>分别代表了头部和主体元素。如果你没有写上这2个标签,浏览会自动补上去的。



HTML中的列表与表格

列表与表格区别

如果你只是想罗列一些项目、元素之类的,比如去超市买年货,怕忘记了,想把要买的商品整理出来,这时候可以采用列表形式罗列出来。但是如果还想要整理每件商品的数量、价格,做一个预算。这时候就要采用表格的形式。可以说表格是比列表更复杂的一种表现形式。


HTML列表标签

在HTML中的列表,有序列表、无序列表、定义列表。这3种列表可以通过不同的标签来定义。

有序列表,由标签<ol></ol>定义,列表项由<li></li>定义,列表项中按一定顺序排序。其项目左侧显示的标记默认是数字,但也可以指定为字母、罗马数字。

实例

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>有序列表</title>
</head>
<body>
<!-- 有序列表,项目左侧默认是数字排序 -->
<ol>
<li>铅笔</li>
<li>橡皮擦</li>
<li>圆珠笔</li>
</ol>

<!-- 有序列表,项目左侧是大写字母排序 -->
<ol type=A>
<li>铅笔</li>
<li>橡皮擦</li>
<li>圆珠笔</li>
</ol>

<!-- 有序列表,项目左侧是小写字母排序 -->
<ol type=a>
<li>铅笔</li>
<li>橡皮擦</li>
<li>圆珠笔</li>
</ol>

<!-- 有序列表,项目左侧是大写罗马数字排序 -->
<ol type=I>
<li>铅笔</li>
<li>橡皮擦</li>
<li>圆珠笔</li>
</ol>

<!-- 有序列表,项目左侧是小写罗马数字排序 -->
<ol type=i>
<li>铅笔</li>
<li>橡皮擦</li>
<li>圆珠笔</li>
</ol>
</body>
</html>

运行实例 »

无序列表,由标签<ul></ul>定义,列表项由<li></li>定义。列表项无需按顺序排序,其项目左侧显示的标记,可以有多种。默认是实心小圆点。在实际开发中,这中比较常用。


实例

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>无序列表</title>
</head>
<body>
<!-- 无序列表,项目左侧默认是实心小圆点-->
<ul>
<li>铅笔</li>
<li>橡皮擦</li>
<li>圆珠笔</li>
</ul>

<!-- 无序列表,项目左侧默认是空心小圆点-->
<ul type=circle>
<li>铅笔</li>
<li>橡皮擦</li>
<li>圆珠笔</li>
</ul>

<!-- 无序列表,项目左侧默认是实心小方块-->
<ul type=square>
<li>铅笔</li>
<li>橡皮擦</li>
<li>圆珠笔</li>
</ul>
</body>
</html>

运行实例 »


自定义列表由标签<dl></dl>定义,列表项由<dt></dt>定义,对列表项的解释说明由标签<dd></dd>。不像有序列表、无序列表那样单纯地罗列出一系列项目,而是可以对罗列的每个项目中进行一些自定义的解释说明。


实例

<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>自定义列表</title>
</head>

<body>
    <dl>
        <dt>意式咖啡</dt>
        <dd>有巧克力摩卡,焦糖玛奇朵,拿铁咖啡</dd>
        <dt>醇香奶茶</dt>
        <dd>有黄金珍奶,芋园珍奶,椰果珍奶</dd>
    </dl>
</body>

</html>

运行实例 »


HTML表格标签

HTML中的表格,由若干行、列组成的。表格是<table>标签来定义的。其中

<tr>定义表格的行

<td>定义表格的列,td是英文table data,即表格单元

<caption>定义表格的标题

<th>定义表格的表头,大多数浏览器会把表头显示为粗体居中的文本

<thead>定义表格的页眉

<thbody>定义表格的主体

如果希望显示表格边框需要在table标签上添加一个border属性,即<table border="1">

以下是一个由表格定义的购物车清单的例子。


实例

<!doctype html>
<html>

<head>
<meta charset="UTF-8">
<title>购物车清单</title>
</head>

<body>
<!-- 定义一个表格,边框是1像素,宽500像素,表格单元间距0像素,表格单元内间距是5像素 -->
<table border="1" width="500" cellspacing="0" cellpadding="5">
<!-- 定义表格标题 -->
<caption>
<big>购物车</big>
</caption>

<!-- 把第一行定义表格表头 -->
<thead bgcolor="lightgray">
<th>序号</th>
<th>商品类型</th>
<th>商品名称</th>
<th>单价</th>
<th>数量</th>
<th>金额</th>
</thead>
<!-- 定义表格主体 -->
<thbody>
<tr>
<td>1</td>
<!-- 第2行和第3行都是***,因此使用属性rowspan跨2行合并为一个单元格 -->
<td rowspan="2">***</td>
<td>***运动T恤</td>
<td>45</td>
<td>2</td>
<td>90</td>
</tr>
<tr>
<td>2</td>
<!-- <td>***</td> -->
<td>***针织长裤</td>
<td>120</td>
<td>2</td>
<td>240</td>
</tr>
<tr>
<td>3</td>
<td rowspan="2">***</td>
<td>***针织衫</td>
<td>160</td>
<td>1</td>
<td>160</td>
</tr>
<tr>
<td>4</td>
<!-- <td>***</td> -->
<td>***轻便羽绒服</td>
<td>900</td>
<td>2</td>
<td>1800</td>
</tr>
<tr>
<!-- 跨5列合并为单元格,使用属性colspan,值为5 -->
<td colspan="5" bgcolor="lightgray">合计金额:</td>
<!-- <td></td>
                <td></td>
                <td></td>
                <td></td> -->
<td>2290</td>
</tr>
</thbody>
</table>
</body>

</html>

运行实例 »

HTML的表单

HTML 表单用于收集不同类型的用户输入。由标签<form></form>定义。同时我们可以通过表单控件元素来展示需要用户输入的内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。

<input>标签是在表单中定义了一个输入域,可以用来给用户输入的数据(比如文本,密码等),可以通过type属性来定义输入域的类型。在开发中,input标签常用属性有type,id,name,value。

<label>标签把input元素相关联起来,就是点击<label>标签内的文本浏览器会自动把焦点转到相关联的input元素上,注意<label> 标签的 for 属性应当与相关元素的 id 属性相同。

以下是一个常见的表单例子


实例

<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>表单与表单中的控件元素</title>
</head>

<body>
    <h3>用户注册</h3>
    <!-- 定义一个表单,表单提交方式为POST,用户点击提交按钮会把填写的数据上传到login.php文件 -->
    <form action="login.php" method="POST">
        <!-- 定义账号、密码输入框,通过value属性设置默认的账号名,通过type="password"实现密码输入框显示成****** -->
        <p>
            <label for="username">账号:</label>
            <input type="text" id="username" name="username" value="jacky">
            <label for="password">密码:</label>
            <input type="password" id="password" name="password">
        </p>
        <p>
            <label for="email">邮箱:</label>
            <input type="email" id="email" name="email" value="system@eamil.com">
        </p>
        <!-- 定义年龄输入框,type属性设置number值,通过min,max属性设置最小值,最大值。该控件可以确保年龄这一栏输入的是整数值。 -->
        <p>
            <label for="age">年龄:</label>
            <input type="number" id="age" name="age" min="15" max="88">
        </p>
        <!-- 通过标签<select>定义一个下拉框列表,<option>标签定义下拉框列表的项目,
        如果项目具有共通的属性,可以通过<optgropu>标签实现分组效果。
        备注:通过设置select标签的id属性和laber标签的for属性相绑定,没有实现聚焦效果。 -->

        <p>
            <laber for="lesson">课程</laber>
            <select id="lesson" name="lesson">
                <optgroup label="前端">
                    <option>请选择</option>
                    <option>html</option>
                    <option>css</option>
                    <option>jacascript</option>
                </optgroup>
                <optgroup label="后端">
                    <option>php</option>
                    <option>mysql</option>
                    <option>laravel</option>
                </optgroup>
            </select>
        </p>
        <!-- 设置type属性的值为checkbox,来启用复选框控件。同时可以通过添加checked属性,来设置默认选项。
        注意:复选框的name属性值要相同,因为复选框上input元素是通过name属性来确定为一组的。 -->
        <p>
            <label for="">爱好:</label>
            <input type="checkbox" name="hobby[]" value="football" id="football"><label for="football">足球</label>
            <input type="checkbox" name="hobby[]" value="basketball" id="basketball"><label for="basketball">篮球</label>
            <input type="checkbox" name="hobby[]" value="coding" id="coding" checked><label for="coding">撸代码</label>
        </p>
        <!-- type值设为radio,启用单选框。在input元素中添加checked属性来设置默认选项。同时注意保持name属性值一致。 -->
        <p>
            <label for="">性别:</label>
            <input type="radio" name="gender" value="male" id="male"><label for="male">男</label>
            <input type="radio" name="gender" value="female" id="female"><label for="female">女</label>
            <input type="radio" name="gender" value="secrecy" id="secrecy" checked><label for="secrecy">保密</label>
        </p>
        <!-- type值设为submit,则定义了一个提交按钮,用户点击该按钮则表单会提交到form标签中action属性定义的URL地址文件。
        type值设为reset,则定义了一个重置按钮,用户点击会清空刚填写的表单数据。
        type值设为button,定义了一个可点击的按钮,用户点击后什么都不会发生。 
        type值设为image,定义了一个图像形式的提交按钮,该类型的按钮需要和src和alt属性结合使用。-->
        <p>
            <input type="submit" name="submit" value="开始提交">
            <input type="reset" name="reset" value="重填">
            <input type="button" name="button" value="按钮">
            <input type="image" src="submit.gif" alt="提交">
        </p>
        <!-- button标签,定义了一个按钮。如果在 HTML 表单中使用 button 元素,不同的浏览器会提交不同的值。
        Internet Explorer 将提交 <button> 与 </button> 之间的文本,而其他浏览器将提交 value 属性的内容。
        因此,还是用input标签来创建提交按钮以确保各个浏览器的兼容性。 -->
        <p>
            <button type="submit">提交</button>
        </p>
    </form>
</body>

</html>

运行实例 »


在表单中,checked 属性规定在页面加载时应该被预先选定的 <input> 元素。 (只针对 type="checkbox" 或者 type="radio")。

表单控件中最重要的标签是<input>,该标签可以通过type属性设置不同的值来满足不同的应用场景。

比如输入密码用密码框,选择课程可以使用下拉框,选择爱好可以使用复选框,性别可以使用单选按钮,账号可以使用单行文本输入框,自我介绍可以使用多行文本输入框,等等......

以下是从网上整理的inpute type属性值各种用法

type="text":创建单行文本输入框

type="password":密码输入框

type="radio":单选按钮

type="checkbox":复选框

type="button":普通按钮

type="submit":提交按钮

type="reset":重置按钮

type="image":图像按钮

type="hidden":隐藏域

type="file":文件域


HTML5新增的inpute type属性值

input type="url":输入URL字段

input type="tel" name="tel":用来输入电话号码

type="search":搜索字符串

type="email":该控件用来输入"email"地址

type="color":颜色选择器;语法为:﹤input type="color" id="color"﹥

type="number":数字字段

type="range":输入数值控件;

type="month":年月控件

type="date":日期控件

type="datetime":日期加时间控件(基于UTC时区)

type="datetime-local":日期加时间控件(不带时区)


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议