iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >HTML5中语义化标签怎么用
  • 581
分享到

HTML5中语义化标签怎么用

2024-04-02 19:04:59 581人浏览 泡泡鱼
摘要

本篇内容主要讲解“HTML5中语义化标签怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5中语义化标签怎么用”吧! HTML5属于上一代HTML的

本篇内容主要讲解“HTML5中语义化标签怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习html5中语义化标签怎么用”吧!

HTML5属于上一代HTML的新迭代语言,设计HTML5最主要的目的是为了在移动设备上支持多媒体,例如:video标签和audiocanvas代标记。

HTML5中语义化标签

在HTML5中新增了很多的语义标签,如

比如以前我们使用以下方式来布局

<div class="header"></div>

现在可以替换为

<header></header>

HTML5可以让很多更语义化的结构化代码标签代替大量无意义的div标签

1. 这种语义化的特性提升了网页的质量和语义

2. 减少了以前用于CSS 调用的class和id属性

并且对搜索引擎的友好,新的结构标签带来的是网页布局的改变及提升对搜索引擎的友好。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        header {
            background-color: red;
            height: 400px;
            width: 100%;
        }
    </style>

</head>
<body>
    <header></header>
</body>
</html>

解决办法:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        header {
            background-color: red;
            height: 400px;
            width: 100%;
            display: block;
        }
    </style>

    <script>
        document.createElement("header");
    </script>
</head>
<body>
    <header></header>
</body>
</html>
  1. 使用1的方法,意味着对每个语义标签都要创建元素,这样未免比较麻烦,更好的办法是使用插件,引入html5shiv.js文件,该插件的实质还是创建了语义元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        header {
            background-color: red;
            height: 400px;
            width: 100%;
        }
    </style>

    <script src="html5shiv.js"></script>
</head>
<body>
    <header></header>
</body>
</html>
  1. 上面的方法还有需要改进的地方,比如在谷歌浏览器中完全支持 HTML5,这就意味着在渲染HTML网页时不需要下载html5shiv.js 文件,但是上面的方法是在任何的浏览器中都会下载的,所以再次改进如下

<!--[if lte IE 8]>
    <script src="html5shiv.js"></script>
<![endif]-->

上面的代码只有IE浏览器才会识别,意思是如果IE浏览器的版本是IE8及以下的版本,才会下载这个js文件,在其他浏览器中会认为这时注释,自动忽略。

video和audio

在浏览器中插入视频和音频文件,以往是使用flash来实现,但是在移动端使用flash就会比较慢,HTML5给了两个新的标签,用来插入视频和音频文件。二者的使用相似,现以video为例介绍该标签的属性

| 属性 | 作用| | --- | --- | |src | 值为视频文件的路径| |controls| 显示控制台| |autoplay| 自动播放| |loop| 循环播放| |... ... | ... ...|

还有一些属性没有介绍,以上是较为常用的,剩余的请参考网站HTML5视频。这里给出一个实例

<video src="resources/video.mp4" controls autoplay loop></video>

另一个需要注意的是,目前只支持三种格式的视频

  • Ogg

  • MPEG 4(mp4)

  • WEBM

并且不同的浏览器支持的程度也不一样,具体的可以参考上面的链接。那么这个时候怎么办? 我们不能这么写

<video src="test.mp4"></video>
<video src="test.ogg"></video>
<video src="test.WebM"></video>

虽然我们的本意是:如果支持.mp4,那么就使用.mp4,否则如果支持.ogg,则用.ogg,以此类推。但是上面的效果是出现3个video,而不是一个,这个时候的解决办法是使用source标签,如下

<video>
    <source src="test.mp4">
    <source src="test.ogg">
    <source src="test.WebM">
</video>

这个时候达到的效果就是我们想要的。

表单

HTML5在表单这里也做了很多的改进,比如新增了一些属性以进行表单验证(以往这些工作我们都是使用javascript进行正则表达式的验证),以及新的标签和方法。

智能表单控件

  • emial

  • url

  • number

  • range

  • color

  • date

  • month

  • week

  • time

首先用法如下

<fORM action="test" method="get">
    email: <input type="email"> <br>
    url: <input type="url"> <br>
    number: <input type="number"> <br>
    range: <input type="range"> <br>
    color: <input type="color"> <br>
    date: <input type="date"> <br>
    week: <input type="week"> <br>
    time: <input type="time"> <br>
    <button type="submit">提交</button>
</form>
HTML5中语义化标签怎么用

当type设置为emial时,如果输入的不是电子邮箱,当点击提交按钮时,不能提交成功,并给出提示信息

HTML5中语义化标签怎么用

当type设置为url时,如果输入的不是url地址,那么当点击提交按钮时,也不能提交成功,并给出提示信息

HTML5中语义化标签怎么用

正确的url地址应该以Http或者https开头,如http://www.baidu.com。

当type设置为number时,这时在控件里面只能输入数字,当你按其他键时没有反应,可以自行实验看看效果。

当type设置为color时,点击color后的颜色,会出现拾色器,可以选择颜色,如下

HTML5中语义化标签怎么用

设置type设置为date, week, time时,显示的是各种格式的时间,这里不多加解释想必可以明白。

表单属性

form表单的属性
  1. autocomplete

直译过来就是自动完成,当我们提交表单后,表单会记录我们提交的内容,当我们再次填写时,它会给出我们已经提交过的内容作为提示信息。有时这种情况下可能会造成信息的泄漏,不安全,我们可以将autocomplete设置为off,这时就不会出现上面的情况。默认情况下autocomplete为on

<form action="test" method="get" autocomplete="off">
    ... ...
</form>
  1. novadilate

上面我们提到,当我们使用智能表单控件时,如果不能满足格式的要求,如email,则不能提交成功,当表单添加novadilate属性时,那么这时即使所填写的格式不满足要求,那么也可以提交成功。

<form action="test" method="get" autocomplete="off"  novalidate>
    ... ...
</form>
input的属性
  1. autofocus

自动获得焦点,我们先来看一个淘宝的案例

 

当我们进入淘宝,搜索框会自动的获得焦点,用户可以直接输入,不需要用鼠标先点击搜索框获得焦点才能输入。input添加autofocus的属性即可有这种效果。

  1. form

先来看这么一个结构

<form action="test" method="get">
    <input type="text" name="one">
    <button type="submit">提交</button>
</form>
<input type="text" name="two">

我们可以知道当提交form表单时,只会提交表单域里面的表单,表单域外的表单不会提交,所以当我们提交时,只会有one的数据才会提交

HTML5中语义化标签怎么用

但是如果希望当提交时,two的数据也能进行提交(别奇怪,真的有这种需求),这个时候就需要用到form属性了

<form id="data" action="test" method="get">
    <input type="text" name="one">
    <button type="submit">提交</button>
</form>
<input type="text" name="two" form="data">

form属性的值为form表单的id值。这时再次进行提交

HTML5中语义化标签怎么用

这时two的数据也得到了提交。

  1. list

list属性要配合HTML5新添加的表单标签<datalist>使用,如下

<input type="text" list="list">
<datalist id="list">
    <option value="One"></option>
    <option value="Two"></option>
    <option value="Three"></option>
</datalist>

list属性的值为datalist标签的id值。当我们在text中输入时,会有datalist中option值的提示

HTML5中语义化标签怎么用
  1. multiple

multiple可以实现多选的效果,比如选择多个文件,假设有下面的input标签

<input type="file">
 

这时只能选择一个文件,为了选择多个文件,我们为input标签添加multiple属性

<input type="file" multiple>
 

这时就可以选择多个文件了。

  1. placeholder

使用placeholder作为提示信息,假设有如下标签

<input type="text" placeholder="请输入信息">
 

当我们输入文字时,提示信息会消失,当我们将文字消失时,文字又会出现。

  1. required

当input使用该属性时,表示该input控件是必填项,否则无法提交,具体可以自己试验一下,这里就不演示了。

HTML5 api

获取DOM元素

假设有如下的html结构

<ul>
    <li>
        <span>span1</span>
    </li>
    <li>
        <a href="#"><span>span2</span></a>
    </li>
</ul>

如果我们要改变span的样式(通过JS),我们我们一般要为span标签添加id属性或者class属性,这样才能获取要对应的DOM元素,HTML5新增了两个方法

  • querySelector():只能选择一个元素

  • querySelectorAll():可以选择所有符合条件的元素

可以向其中传入选择器(任何CSS支持的选择器),从而来选择DOM元素,如

//使用子代选择器选择span元素
document.querySelector("li>span").style.color = "red";

类名操作

有时候我们需要为某个标签添加或者移除类样式,HTML5为我们提供了API接口

  • classList.add():为DOM元素添加指定的类样式

  • classList.remove():为DOM元素移除指定的类样式

  • classList.toggle():切换,意思即如果DOM元素有这个类样式,则移除这个类样式,如果没有这个类样式,这添加这个类样式

  • classList.contains():判断该DOM元素是否包含这个类样式,包含则返回true,否则返回false。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        .active {
            width: 100%;
            height: 100px;
            background-color: darkred;
        }
    </style>

</head>
<body>
    <div></div>
    <button class="add">添加类名</button>
    <button class="remove">移除类名</button>
    <button class="toggle">切换类名</button>
    <button class="contains">是否包含类名</button>

    <script>
        document.querySelector(".add").onclick = function () {
            document.querySelector("div").classList.add("active");
        }
        document.querySelector(".remove").onclick = function () {
            document.querySelector("div").classList.remove("active");
        }
        document.querySelector(".toggle").onclick = function () {
            document.querySelector("div").classList.toggle("active");
        }
        document.querySelector(".contains").onclick = function () {
            console.log(document.querySelector("div").classList.contains("active"));
        }
    </script>
</body>
</html>
 

自定义属性

HTML5规定自定义属性需要以data-开头,如

<div data-test="one"></div>

上面自定义了一个叫test的属性,我们可以通过DOM元素的dataset来访问或者修改自定义属性的值,有两种方式

  • dataset.属性名

  • dataset["属性名"]

<div data-test="one"></div>
<script>
    console.log(document.querySelector("div").dataset.test);
    document.querySelector("div").dataset["test"] = "two";
</script>

如果属性名之间使用-之间连接,如下

<div data-test-name="one"></div>

那么使用dataset访问或修改时要使用驼峰命名法获取,如下

console.log(document.querySelector("div").dataset.testName);
document.querySelector("div").dataset["testName"] = "two";

文件读取

FileReader是用来读取上传的文件的,它有3个读取的方法

  • readAsText():读取文本文件,返回文本字符串(utf-8)

  • readAsBinaryString():读取任意文件,返回二进制文件

  • readAsDataURL():读取任意文件,得到包含一个data:URL格式的字符串(base64编码),以表示所读取文件的内容

上面三个方法读取的内容都会放在FileReader对象的result属性中。

现在演示一个案例,选择上传的图片,在上传之后希望有预览的效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input type="file"><br>
    <br>
    <img src="" width="800"></img>

    <script>
        //获得input DOM元素
        let input = document.querySelector("input");
        //获得img DOM元素
        let image = document.querySelector("img");
        
        //当input发生改变时即有文件上传时触发该事件
        input.onchange = function () {
            //获得上传的文件对象
            let file = input.files[0];
            //获得FileReader对象
            let reader = new FileReader();
            //使用FileReader读取该图片,得到一个base64格式的编码
            reader.readAsDataURL(file);
            
            //reader读取完毕后触发该事件
            reader.onload = function() {
                //将读取到的base64编码格式的URL赋值给img标签的src属性
                image.src = reader.result;
            }
        }

    </script>
</body>
</html>
 

上面的代码中,我们用到了FileReader对象的onload事件,这里列出FileReader提供的事件

  • onabort:中断时触发

  • onerror:出错时触发

  • onload:文件读取成功完成时触发

  • onloadend:读取完成触发,无论成功或失败

  • onloadstart:读取开始时触发

  • onprogress:在读取过程中持续触发

获取网络状态

HTML5提供了有关网络状态的API,使用window.navigator.onLine可以获取当前的网络状态,返回一个布尔值。除此之外,还提供了两个网络事件

  • ononline():连上网络的时候触发

  • onoffline():断开网络的时候触发

window.ononline = function () {
    console.log("online");
}
window.onoffline = function () {
    console.log("offline");
}
 

本地存储

随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,传统方式我们以document.cookie来进行存储的,但是由于其存储大小只有4k左右,并且解析也相当的复杂,给开发带来诸多不便,HTML5规范则提出解决方案,使用sessionStorage和localStorage存储数据。

sessionStorage的大小大约为5M左右,它的生命周期为当前页面,即当关闭当前页面时,存储在本地的数据会被清除。并且不同页面之间的sessionStorage是独立的,不能互相访问。sessionStorage的方法有

  • setItem(key, value):存储键值对

  • getItem(key):根据key获取对应的value

  • removeItem(key):删除key所对应的键值对

  • clear():清除sessionStorage本地缓存

localStorage的大小为20M左右,它的生命周期为当前浏览器。关闭浏览器不会清除数据,数据存储在硬盘上,只能手动清除。localStorage的方法同sessionStorage。

  • header

  • footer

  • nav

  • article

  • aside

  • section

  • ... ...

但是现在碰到一个问题,由于这些具有语义的标签是HTML5新增的,这就意味着在IE8及以下版本的IE浏览器中不支持,如下面的样式在IE8中就不能够正常的显示,在script中创建语义标签header,并且将header的display设置为block

到此,相信大家对“HTML5中语义化标签怎么用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: HTML5中语义化标签怎么用

本文链接: https://www.lsjlt.com/news/91830.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • HTML5中语义化标签怎么用
    本篇内容主要讲解“HTML5中语义化标签怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5中语义化标签怎么用”吧! HTML5属于上一代HTML的...
    99+
    2024-04-02
  • HTML5语义化的标签怎么用
    今天小编给大家分享一下HTML5语义化的标签怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2024-04-02
  • HTML5中语义化b和i标签怎么用
    这篇文章主要介绍了HTML5中语义化b和i标签怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。b 和 i 标签在现在的 Web 标准潜规...
    99+
    2024-04-02
  • html5语义化标签有什么用
    html5语义化标签的作用:增强可读性:使网页更易于理解和浏览。提高可访问性:帮助屏幕阅读器理解网页内容。提高可维护性:清晰的结构便于代码组织和维护。搜索引擎优化:为搜索引擎提供有用信息...
    99+
    2024-04-05
    搜索引擎优化
  • HTML5语义标签怎么用
    这篇文章将为大家详细讲解有关HTML5语义标签怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 仿照着用HTML5+CSS3做了一个bl...
    99+
    2024-04-02
  • 什么是html5语义化标签
    这篇文章主要讲解了“什么是html5语义化标签”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是html5语义化标签”吧!1.<article>...
    99+
    2024-04-02
  • html5标签语义化有什么作用
    这篇文章主要介绍“html5标签语义化有什么作用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“html5标签语义化有什么作用”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • html5中有哪些语义化标签
    这篇文章给大家介绍html5中有哪些语义化标签,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。HTML语义化:每个HTML标签都有自己特定含义(语义),语义化是指使用语义恰当的标签,使页面有良好的结构,页面元素有含义,能...
    99+
    2023-06-14
  • HTML5的语义标签怎么用
    这篇文章主要介绍“HTML5的语义标签怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML5的语义标签怎么用”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • HTML5新特性之语义化标签怎么用
    这篇文章主要介绍了HTML5新特性之语义化标签怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。HTML5新特性简洁的DOCTYPE:HT...
    99+
    2024-04-02
  • HTML5新语义化标签如何使用
    这篇文章主要讲解了“HTML5新语义化标签如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML5新语义化标签如何使用”吧! 我们先通过以下这张图...
    99+
    2024-04-02
  • HTML的语义化标签和无语义化标签怎么使用
    这篇文章主要介绍“HTML的语义化标签和无语义化标签怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML的语义化标签和无语义化标签怎么使用”文章能帮助大家解决问题。什么是HTML语义化标签...
    99+
    2023-07-06
  • HTML5中有哪些常用的语义化标签
    这篇文章给大家介绍HTML5中有哪些常用的语义化标签,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。nav 定义导航链接的部分在页脚显示一个站点的导航链接,如首页、服务信息页面、版权信息页面等<nav>&nb...
    99+
    2023-06-09
  • html5的语义化标签有哪些
    是,html5 引入了以下语义化标签:头部:、内容:、、、、、结构:、、、<acronym></acronym> HTML5 的语义化标签 HTML5 引入了...
    99+
    2024-04-05
  • 常见html5语义化标签有哪些
    这篇文章主要介绍“常见html5语义化标签有哪些”,在日常操作中,相信很多人在常见html5语义化标签有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”常见html5语义化...
    99+
    2024-04-02
  • 关于HTML的语义化标签和无语义化标签
    什么是HTML语义化标签 语义化的标签,旨在让标签有自己的含义,让浏览器认识这个标签所传达的信息,是干什么的有什么作用。 比如:h1标题标签的语义是用它来标识网页或其他部分最重要的标...
    99+
    2023-05-15
    HTML HTML语义化标签 HTML无语义化标签
  • HTML5语义化标记Section和Article怎么用
    小编给大家分享一下HTML5语义化标记Section和Article怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Sect...
    99+
    2024-04-02
  • HTML5中语义标签的示例分析
    小编给大家分享一下HTML5中语义标签的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在HTML5标准中,新加了几个用于...
    99+
    2024-04-02
  • 如何判断div是不是html5语义化标签
    小编今天带大家了解如何判断div是不是html5语义化标签,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入...
    99+
    2024-04-02
  • html5中li标签怎么用
    这篇文章主要为大家展示了“html5中li标签怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5中li标签怎么用”这篇文章吧。 ...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作