【HTML】讲讲对HTML5的语义化的理解

article/2025/1/11 19:42:38

【HTML】讲讲对HTML5的语义化的理解

引言

github:【HTML】讲讲对HTML5的语义化的理解

内容速递:看了本文您能了解到的知识

HTML5语义化

在讲什么是语义化之前,先看看语义化的背景。

在之前的文章中提到HTML最重要的特性,那就是标签。但是项目一大,标签多的看不懂,一堆叠着一堆。一些命名奇奇怪怪,想维护被劝退,团队协作导致团战开始!

因此语义化迫在眉睫!

1、什么是语义化

在我们写HTML时其实无所谓,因为你里面长啥样,用户看不到,也不用看到。

因为你有CSS的漂亮衣服,即使你的HTML一塌糊涂,CSS也可以让它光鲜亮丽。

但是用户看不到,开发者看得到呀!因此,这个语义化的友好者是开发者本身。

所谓语义化,就是凭着HTML本身,也能体验出人性化的结构!

2、语义化的好处

  • 在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构。这样开发者一眼就明了你的意图,一秒破冰!

  • 对SEO友好。对开发者友好,那么对开发者的小虫子们也是当然!

    当标签应用得当,体现出上下文中你想要关键字的权重,那么搜索引擎爬虫就到了你的头上了。那么网站的访问量不就来了吗。

  • 可以支持一些特殊的设备(盲人阅读、移动设备),网页翻译等。

  • 最直观的一点,便是你的队友都希望和你合作!你的代码的语义化,队友都爱啊!

    语义化更具可读性,遵循W3C标准的团队都遵循这个标准,可以减少差异化。(跳槽快速融入?)

3、工作中语义化的思考

  • 不要使用一些纯样式标签,这些CSS会帮我们做到。如:b、font、u等一些标签。

  • 需要强调的文本,可以包含在strong或者em标签中(,strong默认样式是加粗(不要用b),em是斜体(不用i)。使用 mark标签来表示标注的/突出显示的文本。

    但是还是可以考虑使用CSS来完成。

  • 每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来。

  • 表单域要用fieldset标签包起来,并用legend标签说明表单的用途。

  • 应该使用<h1> - <h6>来表示标题。

  • 当用CSS写样式的时候命名也需要遵循HTML的结构,体现出语义化的本质。

4、语义化的标签

1、<header> 标签定义文档的页眉

通常包含页面的正副标题。

<header>
<h1>他真的是美男子吗?</h1>
<p>据现场勘查,他真的是美男子!</p>
</header>

2、<footer>标签定义文档或节的页脚

页脚通常包含文档的作者、版权信息、使用条款链接、联系信息等等。

可以在一个文档中使用多<footer>元素。

<footer><p>Posted by: 美男子</p>
</footer>

3、<main>标签规定文档的主要内容。

<main> 元素中的内容对于文档来说应当是唯一的。

它不应包含在文档中重复出现的内容,比如侧栏、导航栏、版权信息、站点标志或搜索表单。

在一个文档中,不能出现多个 <main> 元素。<main> 元素不能是以下元素的后代:<article><aside><footer><header> <nav>

<main><h1>我的介绍</h1><p>我是一个聪明的孩子</p>
</main> 

4、<section> 标签定义文档中的片段。

比如章节、页眉、页脚或文档中的其他部分。

<section><h1>PRC</h1><p>The People's Republic of China was born in 1949...</p>
</section>

5、<article> 标签规定独立的自包含内容

比如文章下的评论之类的

<article><h1>我为什么聪明呢</h1><p>我聪明的秘诀是我爱思考</p>
</article>

6、<aside> 标签定义其所处内容之外的内容。

用来装载非正文类的内容。例如广告,成组的链接,侧边栏等等。

<p>聪明的研究</p>
<aside><h1>我为什么聪明呢</h1><p>我聪明的秘诀是我爱思考</p>
</aside>

7、<nav> 元素代表页面的导航链接区域。

用于定义页面的主要导航部分。

<nav>
<ul>
<li><a href=”https://www.baidu.com”>百度</a></li>
<li><a href=”https://www.guizimo.com”>归子莫</a></li>
</ul>
</nav>

5、一个语义化模板

先来看一张图。

HTML语义化

看起来,一个标标致致的HTML结构就很清晰了。

6、总结

有的朋友肯定会问了,那平时都是用框架写的代码,基本不用用这些,又不是去写个人网站或者官网,都是写一些业务型的H5或者后台管理。

其实对于个人网站或者官网来说,语义化是有实际价值的。而且,这个也是近些年来面试的常问的一题。最重要的是要去学习语义化的含义。做到代码语义化,包括函数的命名,组件的命名,组件业务功能的拆分。一直在路上!

重构前端知识体系,你要一起吗?

系列好文

HTML历史:【HTML】你还会来看HTML吗?带你重温亦或走进

HTML标签:【HTML】带你重忆HTML那些记忆模糊的标签

HTML视频:【HTML】讲讲HTML5视频播放的方式

HTML音频:【HTML】HTML5给网页音频带来的变化

HTML语义化:【HTML】讲讲对HTML5的语义化的理解

HTML定位:【HTML】HTML5的新特性Geolocation

HTML拖放:【HTML】HTML5的拖放你用了吗

HTML缓存:【HTML】不来看看HTML5的WebStorage吗

HTML应用缓存:【HTML】HTML5的应用程序缓存

HTML的Web Werkors:【HTML】HTML5的Web Werkors

博客说明与致谢

文章所涉及的部分资料来自互联网整理,其中包含自己个人的总结和看法,分享的目的在于共建社区和巩固自己。

引用的资料如有侵权,请联系本人删除!

感谢万能的网络,W3C,菜鸟教程等!

感谢勤劳的自己,个人博客,GitHub学习,GitHub

公众号【归子莫】,小程序【子莫说】

如果你感觉对你有帮助的话,不妨给我点赞鼓励一下,好文记得收藏哟!关注我一起成长!

幸好我在,感谢你来!


http://chatgpt.dhexx.cn/article/p2wV78TL.shtml

相关文章

语义化版本规范

1. 概念 语义化版本规范&#xff08;SemVer Semantic Versioning&#xff09;是 GitHub 起草的一个具有指导意义的、统一的版本号表示规范。它规定了版本号的表示、增加和比较方式&#xff0c;以及不同版本号代表的含义。 在这套规范下&#xff0c;版本号及其更新方式包含了相…

Appium:Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 65

Appium运行异常记录&#xff1a; Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 65 api文档&#xff1a; XCUITest Real Devices (iOS) Appium 官方文档 看云 参考文档&#xff1a;遇到 Unable to launch WebDriverAgent be…

xcodebuild: Returned an unsuccessful exit code

在执行pod repo push 的时候报了如下错误 ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. 解决方法 在命令行最后添加 --skip-import-validation pod lib lint paperShare.podspec --allow-warnings --sourceshttps://github.com/CocoaPods/Specs.git,http://…

探究 Xcode 命令行用法三:xcodebuild 打包实践(上)

本文还是 adat 项目的延伸&#xff0c;开始介绍打包实践。打包相关的内容繁多&#xff0c;作者把它分成了多篇文章&#xff0c;本文主要是概念部分。理解这些概念对于自己动手编写打包命令至关重要。如果你使用 fastlane、bitrise 或其他构建工具来打包&#xff0c;但对于某些配…

【Appium踩坑】Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code

解决 原因其实是没有启动 WebDriverAgentRunner&#xff0c; 解决就是启动 WebDriverAgentRunner 就行了。 详细报错 Failed to create session. An unknown server-side error occurred while processing the command. Original error: Unable to launch WebDriverAgent…

Xcode编译没问题而使用xcodebuild命令却生成失败

可能大家在项目开发中有时会遇到这样的问题&#xff1a; 明明在Xcode工具中编译没问题&#xff0c;但当使用xcodebuild命令时却无法正常打包&#xff0c;这是为什么呢&#xff1f; 一、错误 比如&#xff0c;一个错误如下&#xff1a; xxx/ViewController.swift:339:15: warn…

探究 Xcode 命令行用法二:xcodebuild 测试实践

本文还是 adat 项目的延伸&#xff0c;瞄准开发周期的测试环节&#xff0c;主要介绍 Xcode 范畴内的测试概念和自动化测试实践&#xff0c;不会讨论如何编写高质量的测试用例。文中涉及到 Xcode 构建的许多概念&#xff0c;大部分已在前两篇文章中有所说明&#xff0c;建议先大…

如何让php执行xcodebuild,Xcodebuild命令使用

Xcode-select命令 xcode-select是Mac系统自带的命令行工具&#xff0c;属于用户系统内/usr/bin。当电脑上安装多个Xcode时&#xff0c;xcode-select用来选择命令行工具为哪一个版本的Xcode服务。 命令行工具安装指令&#xff1a;xcode-select --install 选择指定的Xcode路径&am…

iOS 自动构建命令——xcodebuild

想想当初天天来到公司&#xff0c;每天需要做一件事就是打开Xcode打包ipa&#xff0c;上传到fir。日复一日月复一月年复一年的做着同样的事情&#xff0c;作为有志成为优秀工程师的我来说&#xff0c;这是必须要解决的问题&#xff0c;所以决定自动化解决问题。 简介 xcodebu…

iOS开发-思维导图(初级)

简介&#xff1a;本脑图只整理了一些自认为比较基础的东西&#xff08;比较主观&#xff09;&#xff0c;可能适用于部分初学者&#xff0c;对于正在进阶的小伙伴参考意义可能不大哦~&#x1f601; 如果有小伙伴觉得哪些知识也需要加到图中&#xff0c;欢迎评论区留言&#xff…

IOS开发之证书

分别为证书、appID、设备、描述文件 一、证书Certificates 证书类型&#xff1a; Software&#xff1a;开发证书&#xff08;程序员开发app&#xff09;、分发证书&#xff08;真机调试&#xff09;、发布证书&#xff08;正式发布&#xff09; Services&#xff1a;通知证书&…

怎么学习iOS,如何学习iOS开发?

近年来ios app开发在不断发展中,各中小型也如雨后春笋纷纷露头,像广州商侣软件公司这样的app开发企业可以说是处处可见,然而ios app开发到底该如何入手,如何才能如鱼得水般在这个领域里面畅游呢? 一、什么是ios app开发 ios app开发是指针对苹果公司所生产的手机的ios系统…

零基础学习 iOS 开发

作者&#xff1a;匿名用户 链接&#xff1a;https://www.zhihu.com/question/22000647/answer/114700565 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 作为一名混迹iOS开发圈近4年的码农&#xff0c;资历不深不浅&a…

IOS小白入门指南

加入ios 项目已经一个多月了&#xff0c;本篇文章主要介绍IOS开发入门的一些基础知识&#xff0c;帮助想学习iOS开发的人更有效率地学习。 目录 需要的计算机基础 开发语言选择 IOS两种开发语言的异同 Objective-C和swift的相同点&#xff1a; 二者的不同点&#xff1a…

java ios开发_使用Java开发iOS应用

自从使用Objective C开发原生的iOS应用以来,就有许多使用别的语言来开发iOS应用的替选方案。比如说,下面就列出了一些: PhoneGap, 使用HTML/JS来开发 RubyMotion,使用Ruby ionic,使用AngularJS开发 我最近发现的一个的是RoboVM,你可以通过它来用Java开 自从使用Objective…

IOS开发进阶学习资料(提升必备)

最近整理了下IOS学习资料&#xff0c;包含了入门、进阶、性能优化、面试和学习书籍&#xff0c;算是比较全面的&#xff0c;在这里分享给大家&#xff0c;希望对大家有用。 先晒出IOS学习路线图&#xff0c;大家照着图谱修炼。 学习社区 objc中国 learn IOS Ray Wenderlich…

iOS开发进阶(二):走近iOS原生开发

文章目录 一、前言二、知识储备三、 Object-C四、启动流程五、拓展阅读 一、前言 在应用 uni-app 进行跨平台APP开发过程中&#xff0c;发现并不支持视频播放小窗功能&#xff0c;且插件市场提供的插件用户体验不好&#xff0c;遂决定自行开发 uni-app 原生插件。 uni-app原生…

iOS开发学习系列(1)———Swift语言入门

缘起 对于成为全栈开发者的目标而言&#xff0c;很好奇自己几年前怎么就没想过iOS开发的事情。iOS好歹也是移动操作系统两巨头之一。反思了下&#xff0c;有可能是因为之前对Object-C太无感导致的。现在趁着Swift&#xff0c;借这个机会重新整理iOS的开发。本系列虽然是iOS开发…

IOS开发学习资料集合(开发必备)

最近整理了下IOS学习资料&#xff0c;包含了入门、进阶、性能优化、面试和学习书籍&#xff0c;算是比较全面的&#xff0c;在这里分享给大家&#xff0c;希望对大家有用。 先晒出IOS学习路线图&#xff0c;大家照着图谱修炼。 学习社区 objc中国 learn IOS Ray Wenderlich…

iOS开发学习路线

那么现在说正题,如何成为负责任的开发者? 关注作者:点击关注二字可以找到大神组织首先要负责,对自己的项目负责。如果是自己新开的项目,要保证随时都能清晰的想到项目当中每个地方是怎么实现的,测试或者用户反馈了问题以后,能立马想到可能的错误原因。 如果是接手的项目…