HTML5 新的语义标签
1.常用的语义标签
- 意义:语义标签便于阅读代码,也便于搜索引擎解析文档结构与内容
标签 | 含义 |
---|---|
article | 定义页面独立的内容区域 |
aside | 定义侧边栏内容 |
header | 定义了文档的头部区域 |
section | 定义文档中的区块 |
nav | 定义文档中的区块 |
footer | 定义 section 或 document 的页脚 |
2.兼容性
- IE8及IE8以下版本中,无法识别新标签,需要执行相关代码
- 解决办法就是:在页面渲染前,用js创建这些标签元素,再为其设置css样式
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<script>
document.createElement('header');
document.createElement('footer');
document.createElement('article');
document.createElement('aside');
document.createElement('section');
document.createElement('nav');
</script>
</head>
<body>
<header>我是header</header>
<footer>我是footer</footer>
<article>我是article</article>
<aside>我是aside</aside>
<section>我是section</section>
<nav>我是nav</nav>
</body>
</html>
这样ie8就可以正常识别新的语义标签了,但是默认渲染为行内元素,需要再为其设置css样式为块级元素
<style>
article,aside,header,section,nav,footer{
display:block;
}
</style>
3.第三方插件 html5shiv.js
- 由来:H5那么多的新标签,如果每个都要通过这种方法去生产的话,是不是太麻烦了呢
- 解决办法:直接借用前辈大牛封装好的js库 --- html5shiv.js
- 使用方法:直接引入标签即可(js代码必须在Dom渲染之前运行!!!)
<head>
<meta charset="UTF-8">
<title>Test</title>
<script src="https://cdn.bootcss.com/html5shiv/r29/html5.js"></script>
</head>
4.自定义标签
- 在高级浏览器中,默认能识别自定义标签,只是默认将其渲染为行内元素。
- 可以自己给这些自定义标签设置css属性
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<style>
yyy{
display: block;
}
</style>
</head>
<body>
<xxx>我是xxx标签的文本</xxx>
<xxx>我是xxx标签的文本</xxx>
<yyy>我是yyy标签的文本</yyy>
<yyy>我是yyy标签的文本</yyy>
</body>
<script>
// 获取第2个xxx标签
var xxx = document.getElementsByTagName("xxx")[1]
// 尝试操作样式
xxx.style.color = "red"
</script>
</html>
渲染结果:
HTML5 新的语义标签的更多相关文章
- HTML5中的语义标签兼容IE8以及更低版本的浏览器
看某教程,说让HTML5的这些语义标签能够兼容低版本的浏览器,原文是“你可以设置css的display属性为block”.很好理解,就设置css样式为block嘛,那就直接设置咯: header, s ...
- HTML5新增的语义标签和IE版本低的兼容性问题
<!DOCTYPE html><html> <head> <!-- HTML5中浏览器兼容(较低版本的IE浏览器不支持H5的布局):需要在<head&g ...
- html5新特性与用法大全了解一下
有好多小伙伴私聊我问我html5新特性 和用法,下面我给大家具体介绍一下html5都新加了哪些新特性,下面我给大家总结一下. 1)新的语义标签 footer header 等等2)增强型表单 表单2. ...
- 第二季第八天 HTML5新特性
在函数内部window.a = a 在全局中就可以拿到这个变量 变量命名.作为函数的参数的时候要详细.调用的时候可以简单点 做全局变量的两个方案 1.绑在标签上data 2.闭包 视频一般都是二进 ...
- 前端进阶系列(三):HTML5新特性
HTML5 是对 HTML 标准的第五次修订.其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入.HTML5 的语法是向后兼容的.现在国内普遍说的 H5 是包 ...
- Html5 中的新语义标签
1.1 语义标签对于我们并不陌生,如<p>表示一个段落.<ul>表示一个无序列表<h1> ~ <h6>表示一系列标题等,在此基础上HTML5增加了大量更 ...
- HTML5 十大新特性(一)——语义标签
说语义标签前先来理解下什么叫语义化,当下html是靠div+css来铸造页面的整体框架和结构的,通篇大量的div可读性极低,因此诞生了这些特殊的标签,简单地说就是见名知义,使页面更清晰,方便维护和开发 ...
- html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
* HTML5 现在已经不是 SGML(标准通用标记语言,是一种定义电子文档结构和描述其内容的国际标准语言) 的子集,主要是关于图像,位置,存储,多任务等功能的增加. * 拖拽释放(Drag an ...
- 让IE6,7,8支持HTML5新标签的方法
很多网站对网页进行重构的时候,提高标签的语义性,在网页中大量使用了section,article,header等HTML5新标签.考虑到目前win7自带的IE浏览器版本是IE8,而IE8不支持HTML ...
- HTML5学习之语义化标签(一)
一.为什么HTML5要引入新语义标签 在HTML5出现之前,我们一般采用DIV+CSS布局我们的页面.但是这样的布局方式不仅使我们的文档结构不够清晰,而且不利于搜索引擎爬虫对我们页面的爬取.为了解决上 ...
随机推荐
- LiveChat vs LiveAgent vs Front vs Email
它们是什么? LiveChat, LiveAgent 算是同类产品. LiveChat 的核心(或者说起点)是 live chat 这个功能, 而 LiveAgent 的核心是 ticket. 如果拿 ...
- 痞子衡嵌入式:JLink命令行以及JFlash对于下载算法的作用地址范围认定
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是JLink命令行以及JFlash对于下载算法的作用地址范围认定. 最近痞子衡在给一个 RT1170 客户定制一个 Infineon Mi ...
- 一组.NET MAUI绘制的开源控件 - AlohaKit
前言 今天大姚给大家分享一组.NET MAUI绘制的开源.免费(MIT License)UI控件库:AlohaKit. MAUI介绍 .NET MAUI是一个开源.免费(MIT License)的跨平 ...
- Hive----基本概念
Hive 基本概念 1. Hive:由 Facebook 开源用于解决海量结构化日志的数据统计. 2. Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 ...
- LeetCode 218. 天际线问题 (扫描线+优先队列)
扫描线+优先队列 https://leetcode-cn.com/problems/the-skyline-problem/solution/tian-ji-xian-wen-ti-by-leetco ...
- Java日期时间API系列29-----Jdk8中java.time包中的新的日期时间API类,Java定时任务job中cron表达式计算应用。
Java开发过程中经常会用到定时任务job的场景,比如定时处理数据报表等问题,开源作业调度框架也非常多,常用的开源作业调度框架有:Spring Task.Quartz和xxl-job等.各个框架的具体 ...
- vue前端使用nexus配置npm私有仓库
当我们运行前端项目的时候,常常在解决依赖的时候会加上一个参数npm install --registry=https://registry.npm.taobao.org将源指定为淘宝的源,以期让速度加 ...
- kaggle数据集某咖啡店的营销数据分析
因为还处于数据分析的学习阶段(野生Python学者),所以在kaggle这个网站找了两个数据集来给自己练练手. 准备工作 import pandas as pd import os import ma ...
- rsa原理及其应用
rsa算法 0x01 原理 1.1 相关概念 RSA(Rivest-Shamir-Adleman)加密算法是一种基于数论的非实时加密算法,广泛用于安全通信.RSA算法的核心依赖于大整数分解的困难性 1 ...
- mysql重置id排列重新排序
1.删除表中的原有的主键字段 ALTER TABLE table2 DROP id 2.表中重新创建一个字段 ALTER TABLE table2 ADD id int NOT NULL FIRST; ...