灵魂代码分享HTML元素标签语义化及使用场景实用到爆
灵魂三问:
标签语义化是什么?
为什么要标签语义化?
标签语义化使用场景有哪些?
下面让我们跟着这三个问题来展开一下本文的内容。
一、标签语义化是什么?
标签语义化就是让元素标签做适当的事情。例如 p 标签就是代表文本,button 标签代表按钮,nav 标签代表导航等等。
二、为什么要标签语义化?
其实标签语义化是给浏览器和搜索引擎看的。没有人关心你写的 HTML 代码有没有正确的使用语义化,只有它们关心这件事情,是不是很暖心?
为什么浏览器关心?
DOM 的大部分内容具有隐式语义含义。 也就是说,DOM 采用的原生 HTML 元素能够被浏览器识别,并且可以预测其在各类平台上的工作方式。
例如用 div 实现的按钮和用原生 button 实现的按钮就有一些区别,在表单内 button 可以不用绑定 onclick 事件就可以提交表单内容,用 div 实现的按钮则不行。另外在浏览器中按 tab 键盘可以在 button 之间来回切换,而 div 则不可以。
还有 input 标签 type 属性,由于值的不同在手机上的表现也不同。例如 type="tel" 和 type="number" 弹出来的数字键盘是不一样的。
为什么搜索引擎关心?
搜索引擎的爬虫根据标签来确定上下文、关键字的权重,有利于 SEO。
如果你觉得以上两点理由都不能打动你,从而正确的使用语义化,没有关系,使用 div 一把梭也是可以的。
三、标签语义化使用场景有哪些?

上面是一个比较常见的整体布局方式,其他布局类型其实都是万变不离其宗,逃不出这个使用框架(文末附上 HTML 源码)。
除了整体布局外,我们还要更细节一点,关注其他标签的使用方式。例如:
a 标签用于跳转。
h1 - h5 用于标题
b strong 用于强调
ul li 用于列表
...
这只是其中的一部分标签使用方式,更多的还得参考文档。
方便自己,方便他人,请正确使用语义化。
文中 DEMO 源码
<!DOCTYPE html>
<html>
<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>demo1</title>
<style>
html, body {
height: %;
}
* {
margin: ;
padding: ;
box-sizing: border-box;
}
main {
height: calc(% - 120px);
border: 1px solid blue;
}
header, footer {
height: 60px;;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid red;
}
header {
justify-content: flex-end;
}
ul {
display: flex;
align-items: center;
justify-content: space-around;
}
li {
list-style: none;
border: 1px solid orange;
height: 60px;
line-height: 60px;
width: 100px;
text-align: center;
}
main {
display: flex;
align-items: center;
justify-content: center;
}
aside {
width: %;
border: 1px solid #;
height: %;
}
.right {
width: %;
height: %;
}
section {
height: 200px;
border: 1px solid green;
}
</style>
</head>
<body>
<header>
<nav>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</nav>
</header>
<main>
<aside>
<p>这是一个侧边栏 aside</p>
</aside>
<div class="right">
<section>
<p>p1</p>
<p>p2</p>
</section>
<section>
<p>p3</p>
<p>p4</p>
</section>
</div>
</main>
<footer> </footer>
</body>
</html>
灵魂代码分享HTML元素标签语义化及使用场景实用到爆的更多相关文章
- HTML标签语义化
标签语义化 Web语义化是指使用语义恰当的标签,使页面有良好的结构,页面元素有含义,能够让人和搜索引擎都容易理解. 如果可以在合适的位置使用恰当的标签,那么写出来的页面语义明确,结构清晰,搜索引擎也可 ...
- 【转载】html标签语义化
Html语义化标签-语义化你的HTML标签和属性 1 语义化你的HTML标签和属性 1.1 <Hx> 1.2 <p> 1.3 <ul>.<ol>.& ...
- 基础复习之HTML (doctype、标签语义化)
这段时间找实习看的眼花缭乱的,然后也被拒得落花流水,啊哈哈-还是写博客好玩儿-嘿嘿,下面正题 一.doctype 标准模式 (Full Standards Mode) 接近标准模式 (Almost S ...
- web标签语义化的理解_web语义化是什么意思
web语义化是什么? Web语义化,使用语义恰当的标签,可以让页面具有良好的结构,页面元素具有良好的含义,从而让人和机器都能快速理解.语义化的web页面一方面可以让机器在更少的人类干预情况下收集并研究 ...
- 标签语义化之常用HTML标签
一.布局的理解误区 网络上流行管新型的布局方式叫“DIV+CSS”,其实是一个错误的理解,导致了很多人过度依赖与滥用DIV标签, HTML提供了我们一共七八十个标签,其中常用的有三十个左右,DIV不过 ...
- 谈CSS布局中HTML标签语义化
很多人都在做前端,当然这里包括很多新手,也许在新手的想法就是在做布局的时候不要用font标签之类的就算是web标准了,这样一来,造成如今网上“div泛滥”,一看源文件,霍,除了div没其他标签了. 这 ...
- ASP.NET动态网站制作(5)-- 标签语义化及知识补充
前言:这节课主要是讲标签语义化及一些知识点的补充 内容:参考老师的博文:http://www.cnblogs.com/ruanmou/p/4821894.html
- HTML5--(1)兼容前缀+结构性标签+语义化标签
一.兼容前缀+兼容写法 兼容前缀 1.HTML5有部分类容兼容到IE9,IE8及以下完全不兼容的内容不再考虑. 2.部分内容需要加兼容前缀 a) -webkit- 兼容谷歌 b) -m ...
- HTML行为元素和块级元素及语义化
块级元素 div - dl - form 交互表单h1 - h6 标题 hr 水平分割线p 段落ul 非排序列表table 表格 行内元素 a 链接br 换行em 强调i 斜体img 图片input ...
随机推荐
- 减少if...的使用
最近维护一批代码,其中包括一堆if...的使用,多的情况嵌套8.9层,痛苦不堪,所以搜寻一些可以降低if...else的方法来改善一下代码,写个简单总结. 第一种: 优化前 if (measuredV ...
- 08_提升方法_AdaBoost算法
今天是2020年2月24日星期一.一个又一个意外因素串连起2020这不平凡的一年,多么希望时间能够倒退.曾经觉得电视上科比的画面多么熟悉,现在全成了陌生和追忆. GitHub:https://gith ...
- js排他性算法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Servlet Session MVC模式
一 什么是Session 当首次使用session时,服务器端要创建session,session是保存在服务器端,而给客户端的session的id(一个cookie中保存了sessionId). ...
- 【百度前端技术学院 Day7/8】布局
1. 定位 1.1 文档流 单个元素: 块级元素:内容宽度是其父元素的宽度的100%,并且与其内容一样高. 内联(行内)元素:高宽与他们的内容高宽一样.(所以不能为他们设置宽高) 元素之间的交互: 块 ...
- 定时器+echarts运行时间太长导致内存溢出页面崩溃
最近做的项目需要在页面上展示echarts图表,且数据每隔10s刷新一次,然后发现时间长了以后chorme浏览器会显示页面崩溃.一开始以为是定时器的原因,试了网上的很多方法,比如把setInterva ...
- Redis的持久化设计
Redis 持久化设计 持久化的功能:Redis是内存数据库,数据都是存储在内存中的,为了避免进程退出导致数据的永久丢失,要定期将Redis中的数据以某种形式从内存保存到硬盘,当下次Reids重启时, ...
- python反向遍历一个可迭代对象
我们通常情况下都是正向遍历一个列表,下面是一种简单的反向遍历一个列表的方式. ## 正向遍历 >>>A = [9, 8, 7] >>>for index, a in ...
- 【精讲版】上位机C#/.NET与西门子PLC通信
618来啦 亲们,腾讯课堂101机构打榜了,快来助力<新阁教育>,<免费赠送课程>! 1.手机QQ(微信请也来一遍)扫下方二维码↓,找到<新阁教育> 2.点击“支持 ...
- S7-200 PLC内部+5VDC电源的负载能力
S7-200 PLC内部+5VDC电源的负载能力 S7-200 CPU模块提供DC5V和24V电源:当有扩展模块时,CPU通过I/O总线为其提供5V电源,所有扩展模块的SV电源消耗之和不能超过该CPU ...