整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

「转行测试开发-HTML」(二)空元素、小写标签、属性和具体使用

天继续说下HTML第二讲,空元素、小写标签、属性和对应的具体使用。


先说下HTML 空元素:

没有内容的 HTML 元素被称为空元素。空元素是在开始标签中关闭的。

<br> 就是没有关闭标签的空元素(<br> 标签定义换行)。

在 XHTML、XML 以及未来版本的 HTML 中,所有元素都必须被关闭。

在开始标签中添加斜杠,比如 <br />,是关闭空元素的正确方法,HTML、XHTML 和 XML 都接受这种方式。

即使 <br> 在所有浏览器中都是有效的,但使用 <br /> 其实是更长远的保障。


使用HTML小标签:

HTML 标签对大小写不敏感:<P> 等同于 <p>。许多网站都使用大写的 HTML 标签。


HTML属性:

属性是 HTML 元素提供的附加信息。

属性都包含:

HTML 元素可以设置属性

属性可以在元素中添加附加信息

属性一般描述于开始标签

属性总是以名称/值对的形式出现,比如:name="value"。


接着我们看一个实例:

HTML 链接由 <a> 标签定义。链接的地址在 href 属性中指定

<a href="http://www.liepin.com">这是一个链接</a>


我们在Sublime Text上试下

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>20210815---测试开发转型</title>

</head>

<body>

<h>空元素</h>

<p>没有内容的 HTML 元素被称为空元素</p>

</body>

<a href ="https://www.baidu.com">这是一个招聘网站</a>

</html>

由于 http://www.liepin.com跳转需要的时间有点长,可能是家里网速不好, 页面一直跳转不成功。就修改为 www.baidu.com 这样就可以了。点击可以跳转到新的网址。


HTML 属性常用引用属性值

属性值应该始终被包括在引号内。

双引号是最常用的,不过使用单引号也没有问题。

提示: 在某些个别的情况下,比如属性值本身就含有双引号,那么您必须使用单引号,例如:name='John "ShotGun" Nelson'

HTML 提示:使用小写属性

属性和属性值对大小写不敏感。

不过,万维网联盟在其 HTML 4 推荐标准中推荐小写的属性/属性值。

而新版本的 (X)HTML 要求使用小写属性。


HTML 属性参考手册

下面列出了适用于大多数 HTML 元素的属性:

属性描述

class 为html元素定义一个或多个类名(classname)(类名从样式文件引入)

id 定义元素的唯一id

style 规定元素的行内样式(inline style)

title 描述了元素的额外信息 (作为工具条使用)


HTML 标题

标题(Heading)是通过 <h1> - <h6> 标签进行定义的。

<h1> 定义最大的标题。<h6> 定义最小的标题。

接着我们看一个实例:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>20210815---测试开发转型</title>

</head>

<body>

<h>空元素</h>

<p>没有内容的 HTML 元素被称为空元素</p>

<h1>我是最大的,你忍一下</h1>

<h2>我是老二,你也要忍一下</h2>

<h3>我是老三,我一般</h3>

<h4>我是老四,我凑合</h4>

<h5>我是老五,我忠于革命</h5>

<h6>我是老六,我是最小的,我啥也不是</h6>

</body>

<a href ="https://www.baidu.com">这是一个招聘网站</a>

</html>



尝试一下 »

注释: 浏览器会自动地在标题的前后添加空行。

可以看出,文字是越来越小的,标题越来越小。说明符合要求

TML基本结构

HTML基本结构

网页:由HTML(HyperText Markup Language)超文本标记语言所组成。文件后缀一般为.htm或.html

静态网页:由html、js、css等组成,不具备交互性。后缀一般为.htm或.html

动态网页:在html中加入asp/asp.net/jsp/php等技术,使网页有交互性,后缀一般为.asp/.aspx/.jsp/.php

网站:由一个或若干个网页、图片、音频、视频、动画、文件夹等组成的一个集合(文件夹)。

网站中的所有文件和文件夹均不能使用汉字命名。

首页:也叫主页/homepage,即打开网站时默认显示的第一个网页(http://www.XX.com,https://www.XX.cn),首页名称一般为index.html或default.html

标题标签:h1……h6,h1最大,h6最小

<h1>文字</h1>

……

<h6>文字</h6>

HTML注意事项:

1、html中的标点符号必须是英文输入法中的标点符号

2、HTML标签不区分大小写,但一般习惯小写;Html不区分空格、空行,html标签和属性、属性和属性之间用一个空格隔开,如<p align=”center” style=”color:red;”>;属性值一般放置在单引号或双引号中。

3、html标签必须放置在尖括号<>中

4、html标签一般是成对出现(双标签),结束标签在开始标签的基础上添加/,如<h1>……</h1>、<p>……</p>

如果是单标签则在右尖括号前加/,如<br />、<hr />、<img />

5、Html标签是包含关系,不要交叉书写。如<p><b><i>文字</i></b></p>,不要书写为<p><b><i>文字</p></b></i>

段落:<p>……</p>

分行:<br />

网页中支持的图像格式:jpg、gif、png、bmp,其中支持背景透明的有gif和png,支持动画的有:gif

图像:img

<img src="./pic/guoqing.jpg" width="562" height="424" />

Src:图像的地址。 ./当前目录下 ../向上退一级目录 ../../向上退二级目录 /根目录

Width:宽度

Height:高度


ntroduction

HTML 是一种描述网页语言, 指的是超文本标记语言 (Hyper Text Markup Language)。其中,超文本指的是网页上可以包含图片,视频,连接信息。标记也叫做标签,所以标签书写的是<内容>。语言就是一种交流工具,HTML 是用户与浏览器之间交互工具。

简单说,HTML 是由浏览器解析执行的,它不会将 HTML 标签展示出来,而是会解析 HTML 标签,以特定效果展示出来。

Syntax

  1. HTML 可以直接使用文本编辑器来编写
  2. HTML 文件它的后缀名是 .htm 或 .html
  3. <html> 标签它代表当前页面是一个 HTML
  4. <head> 标签中可以声明 HTML 页面的相关信息
  5. <body> 标签中它主要是用于显示页面信息
  6. 标签要有开始,有结束。开始标签与结束标签中的内容是标签的内容,如果没有标签内容,可以让标签自关闭 <br/>。
  7. 大多数标签它具有属性,属性值要使用引号引起来。
  8. HTML 本身是不区分大小写的。
<html>
    <head>HEAD</head>
    <body>BODY</body>
</html>

Tools

可以使用 JetBrains WebStorm 或者 VS Code 进行开发。


HTML Tags

文件标签

<html> 代表当前书写的是一个 HTML 文档

<head> 存储的本页面的一些重要的信息,它不会显示

标签下有一个子标签 <title> 它是用于定义页面的标题的

<body> 书写的内容会显示出来,属性:1. text 用于设置文字颜色;2. bgcolor 用于设置页面的背景色;3. background 用于设置页面的背景图片

排版标签

HTML 注释

<!-- 注释不会在浏览器中显示 -->

<br/> 标签

br 标签就是一个换行功能标签

<p> 标签

在 p 标签中的内容会在开始与结束之间产生一个空白行并且它会自动换行

常用属性 align 的作用是设置段落中的内容对齐方式,可取值有 left right center

<hr> 标签

hr 标签会在页面上产生一个水平线

常用属性:

align:可取值有 left right center 代表水平线位置

size:代表水平线高度(厚度)

width:代表水平线宽度

color:水平线的颜色

关于 HTML 中标签属性

两种方式:

  1. 直接设置值,默认单位是 px (像素) <HR WIDTH="200">
  2. 可以设置百分比 <HR WIDTH="35%">

<div> 标签

Div 是一个块标签

Div 与 CSS 结合,会更好对页面进行排版

<span> 标签

Span 标签也是一个块标签Div 与 span 区别:Div 会自动换行,我们也叫这样的标签为行级元素Span 标签它不会自动换行,我们也叫它为行内元素

字体标签

<font> 标签

Font 标签可以设置字体,字的大小及颜色

常用属性:

Face:用于设置字体,例如 宋体 隶书 楷体

Size:用于设置字的大小

Color:用于设置字的颜色

我们所看到的屏幕上所有的颜色都是由红、绿、蓝这三种基色调混合而成的。每一种颜色的饱和度和透明度都是可以变化的,用 0~255 的数值来表示。如纯红色表示为 (255,0,0),十六进制表示为 #FF0000。按这种表达方式,理论上我们可以得到 256 * 256 *256=16777216 种颜色。

  1. 使用十六进制方式,取值范围 #000000 ~ #FFFFFF (黑色到白色)。当颜色值为 #cc3300 时,也可以使用 #c30 这种简化的方式来表示。
  2. RGB 颜色表示法:RGB(x,y,z),x、y、z 是 0 ~ 255 之间的整数。
  3. 在线颜色选择器:http://www.86y.org/code/colorpicker/color.html


标题标记

<h1> 最大 <h6> 最小,它们代表的是标题,可以使用 <b> <i> 对文字设置加粗或倾斜

注意:在 HTML 中允许标签进行嵌套的,但是一般都包裹嵌套,而不可以进行交叉嵌套

清单标记(列表标记)

有序清单:

<!-- 有序列表 I II III-->
<ol type="I" start="3">
    <li>张三</li>
    <li>李四</li>
    <li>王五</li>
</ol>
<!-- 无序列表 -->
<ul type="square">
    <li>Java</li>
    <li>Python</li>
    <li>C#</li>
</ul>

图形标签

<img> 可以让我们在网页引入一张图片

常用属性

  1. src 代表的图片的路径
  2. width 图片的宽度
  3. height 图片的高度
  4. border 用于设置图片的边框
  5. alt 如果图片不可以显示时,默认显示的文本信息
  6. align 图片附件文字的对齐方式,取值有 :left right middle top bottom

超连接标签

<a> 标签可以实现跳转到其它页面操作。超链接内容不仅可以是文本,也可以是图片等信息

常用属性

  1. href 代表的要跳转的路径
  2. name 属性可以在本页面设置一个锚点
  3. target 这个属性规定在何处打开这个链接文档,可取值:_blank _self _parent _top framename

表格标签

<!-- 学习表格标签 -->
<table border="2" align="center" width="400px">
    <caption>学生成绩单</caption>
    <tr>
        <th>姓名</th>
        <th>语文成绩</th>
        <th>数学成绩</th>
        <td colspan="2" align="center"><b>操作</b></td>
    </tr>
    <tr align="center">
        <td>张三</td>
        <td>99</td>
        <td>100</td>
        <td>修改</td>
        <td>删除</td>
    </tr>
    <tr align="center">
        <td>李四</td>
        <td>90</td>
        <td>66</td>
        <td>修改</td>
        <td>删除</td>
    </tr>
</table>

表单标签

通过表单可以将要提交的数据提交到指定的位置

<!-- 表单:用户注册案例 -->
<form name="form1" action="user/login" method="POST">
    <table border="1" width="64%" align="center">
        <tr>
            <td>用户名:</td>
            <td>
                <input type="text" name="username">
            </td>
        </tr>
        <tr>
            <td>密码:</td>
            <td>
                <input type="password" name="password">
            </td>
        </tr>
        <tr>
            <td>性别:</td>
            <td>
                <input type="radio" name="sex" checked="checked">男
                <input type="radio" name="sex" >女
            </td>
        </tr>
        <tr>
            <td>地址:</td>
            <td>
                <select name="province">
                    <option value="0">--请选择省--</option>
                    <option value="10001">广东</option>
                    <option value="10002">上海</option>
                    <option value="10003">山东</option>
                </select> 省
                <select name="city">
                    <option>--请选择市--</option>
                    <option value="1000301">广州市</option>
                    <option>深圳市</option>
                    <option>东莞市</option>
                </select> 市
            </td>
        </tr>
        <tr>
            <td>编程语言:</td>
            <td>
                <input type="checkbox" name="language" checked="checked">Java
                <input type="checkbox" name="language">Python
                <input type="checkbox" name="language">Go
            </td>
        </tr>
        <tr>
            <td>照片:</td>
            <td>
                <input type="file" name="image">
            </td>
        </tr>
        <tr>
            <td>自我介绍:</td>
            <td>
                <textarea name="remark" rows="5" cols="100"></textarea>
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <input type="submit" value="注册"> 
                <input type="reset" value="取消"> 
            </td>
        </tr>
    </table>
</form>

框架标签

通过框架标签可以定制 HTML 页面布局

在 HTML 页面上去描述框架信息时,不可以将 <frameset> 写在 <body> 标签中

framesetTest.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>HTML 框架标签</title>
    </head>
    <!-- rows 定义了三行:第一行 100 像素,第三行:100 像素;第二行:剩下的像素 -->
    <frameset rows="100, * , 100"> 
        <frame name="topModule" src="./top.html"></frame>
        <frameset cols="100, * ">
            <frame name="menuModule" src="./menu.html"></frame>
            <frame name="contentModule" src="./content.html"></frame>
        </frameset>
        <frame name="footModule" src="./foot.html"></frame>
    </frameset>
</html>

top.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>top</title>
    </head>
    <body>
        <div>头部信息</div>
    </body>
</html>

foot.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>footL</title>
    </head>
    <body>
        <div>底部信息</div>
    </body>
</html>

menu.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>menu</title>
    </head>
    <body>
        <div>菜单信息</div>
    </body>
</html>

content.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>content</title>
    </head>
    <body>
        <div>内容显示区</div>
    </body>
</html>

其它标签与特殊字符

<meta> 标签

<meta> 标签必须写在 <head> 标签之间

  1. 它可以对页面进行描述及热词设置,可以方便搜索引擎查找页面
  2. 通过 meta 标签设置 http 响应信息
  3. 通过 meta 标签可以设置页面的编码,<meta http-equiv="Content-Type" content="text/html; charset=gbk">
  4. 通过 meta 标签来设置页面加载后在指定的时间后跳转到指定的页面,<meta http-equiv="refresh" content="5; url=http://www.baidu.com">

<link>标签

使用 link 标签来导入 CSS

特殊字符

详情查看菜鸟教程:https://www.runoob.com/charsets/ref-html-ascii.html


​HTML DOM

Introduction

DOM, Document Object Model -- 文档对象模型,是 HTML 和 XML 文档的编程接口,以树结构表达 HTML 文档。

DOM 是 W3C(万维网联盟)的标准。

DOM 定义了访问 HTML 和 XML 文档的标准。

W3C DOM 标准被分为 3 个不同的部分:

  • 核心 DOM - 针对任何结构化文档的标准模型
  • XML DOM - 针对 XML 文档的标准模型
  • HTML DOM - 针对 HTML 文档的标准模型

DOM Node

DOM 是被视为节点树的 HTML。

根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:

  • 整个文档是一个文档节点
  • 每个 HTML 元素是元素节点
  • HTML 元素内的文本是文本节点
  • 每个 HTML 属性是属性节点
  • 注释是注释节点

HTML DOM 将 HTML 文档视作树结构,这种结构被称为节点树。

节点树中的节点彼此拥有层级关系。常用父(parent)、子(child)和同胞(sibling)等术语来描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。

  • 在节点树中,顶端节点被称为根(root)。
  • 每个节点都有父节点、除了根(它没有父节点)。
  • 一个节点可拥有任意数量的子节点。
  • 同胞是拥有相同父节点的节点。

DOM 方法 & 属性

HTML DOM 方法是可以在节点(HTML 元素)上执行的动作。

HTML DOM 属性是可以在节点(HTML 元素)设置和修改的值。

可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。所有 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>DOM</title>
    </head>
    <body>
        <div id="div1">
            <p id="p1">Hello</p>
            <p id="p2">Hello</p>
        </div>
        <script>
            // 先获取 P 元素
            var element = document.getElementById("p1")
            // 直接修改 p 元素的内容
            element.innerHTML = "此时已是修改后的内容"

            // 修改 p2 标签的样式
            var ele = document.getElementById("p2")
            ele.style.color="blue"
            ele.style.fontFamily="宋体"
            ele.style.fontSize="larger"

            // 添加元素
            // 创建一个p元素
            var elementP = document.createElement("p")
            // 创建一个内容
            var nodeText = document.createTextNode("新加的 P 元素")
            // 把文字内容添加到p元素中
            elementP.appendChild(nodeText)
            // 把新创建的p元素添加div1元素中
            var div1 = document.getElementById("div1")
            div1.appendChild(elementP)

            // 插入添加新的元素
            // 创建一个新的元素
            var eleP = document.createElement("p")
            // 创建一个内容
            var noText = document.createTextNode("在 P1 元素前添加的新元素")
            // 把文字内容添加到 p 元素中
            eleP.appendChild(noText)
            // 把新创建的 p 元素添加 div 1 元素中
            var parentDiv1 = document.getElementById("div1")
            // 获取指定被添加的元素
            var p1 = document.getElementById("p1")
            // 在元素前添加;参数说明:1.要添加的元素;2.在那个元素之前添加(指定一个元素)
            parentDiv1.insertBefore(eleP, p1)

            // 删除元素
            // 获取父元素
            var pdiv1 = document.getElementById("div1")
            var removep1 = document.getElementById("p1")
            // 使用父元素删除该元素
            pdiv1.removeChild(removep1)
        </script>
    </body>
</html>

DOM 事件

HTML DOM 允许 JavaScript 对 HTML 事件作出反应。当事件发生时,可以执行 JavaScript,比如发生用户点击一个 HTML 元素的事件。

如需在用户点击某个元素时执行代码,可以把 JavaScript 代码添加到 HTML 事件属性中:onclick=JavaScript

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>DOM 事件</title>
        <!-- JavaScript 代码必须写在 script 中 -->
        <script>
            function onLoadFun(){
                alert("已载入...");
            }
            // 文本框失去焦点事件
            function onBlurFun(){
                alert("此方法是文本框失去焦点事件,用来校验此文本框输入数据的")
            }
            // 表单被提交时执行事件
            function onSubmitFun(){
                alert("此表单已提交,这个方法也可以来作为数据校验的");
            }
            // 元素被改变时触发事件
            function onChangeFun(){
                alert("文本框元素已输入新的数据")
            }
            // 当鼠标悬停在某一个元素上时执行的方法
            function onMouseOverFun(element){
                element.innerHTML = "鼠标已停在H1元素上了"
            }
            // 当鼠标离开某一个元素时执行事件
            function onMouseOutFun(element){
                element.innerHTML = "鼠标已离开H1元素上了..."
            }
        </script>
    </head>
    <!-- 需求:当页面被载入时,执行一个代码,弹框提示已载入 -->
    <body onload="onLoadFun()">
        <!-- 需求:在一个表单中有用户名录入的文本框,当输入完文本框的时候进行名称校验,提交的时候弹框显示 -->
        <form onsubmit="onSubmitFun()">
            用户名:<input id="username" name="username" onchange="onChangeFun()" >
            <br/>
            <button type="submit">提交</button>
        </form>
        <!-- 需求:有一个 H1 标签元素,当鼠标移动到 H1 元素上时,修改文字,当鼠标移出元素时执行事件 -->
        <h1 onmouseover="onMouseOverFun(this)" onmouseout="onMouseOutFun(this)">我是一个标题</h1>
    </body>
</html>


想了解更多,欢迎关注我的微信公众号:Renda_Zhang