浅谈HTML语义化
在网页设计和开发时,HTML语义化是一个重要的标准。它强调使用具有语义化含义的HTML标签来描述网页内容的结构和意义,从而提高页面的可读性、可访问性和搜索引擎优化。
在网页开发中,我们常常会遇到两种极端情况:一方面是过度使用<div>
和<span>
等通用标签,缺乏明确的语义;另一方面是滥用过时的非语义化标签,如使用<table>
布局网页。这两种极端都会导致网页结构的混乱和可维护性的下降。
对于这种现象,我的看法是“我宁愿什么也不做,也不愿犯错🤣”——对语义化标签的使用不了解的时候还是老实用<div>
、<span>
标签去写网页吧,这样至少不会起反效果。但是假如对代码质量有追求,或者需要优化SEO时,去学习并合理使用语义化标签还是很有必要的。我刚入门前端时看的是MDN的文档,里面多次着重强调了web开发中语义化的重要性,文档对无障碍功能的看重令我印象深刻,所以我自己写的项目也比较注重语义化方面。
分析新浪网的语义化
我们先选取一个比较知名的新闻网站——新浪网进行分析,想必一个大体量的老牌新闻网站语义化做的应该挺不错吧。
一开元素检查,看起来备注啥的写的还是挺完善的,那么我们详细看看
先找找网站的Header在哪吧,好家伙,是一堆<div>
套娃
<!-- 头部 bar begin -->
<div id="SI_Top_Wrap" class="top-nav-wrap top-nav-wrap-fix">
<div class="top-nav">
<div class="tn-bg">
<div class="tn-header">
<div class="tn-nav">
<div class="tn-header">...</div>
</div>
</div>
</div>
</div>
</div>
再看看文章部分吧,代码有点多,就不贴了,截个图大伙体会一下
看了一遍也没找到啥语义化标签,可能是项目比较旧了,没及时做这方面的更新,一直使用HTML的注释去维护,估计前后端也不是分离的,对这种老项目要求也不能用现在的标准去看待,不过这种情况要是出现在现在的前端工程里,对代码的可维护性也会有这一定的影响😂。
分析知乎的语义化
接下来我们看看知乎的语义化做的怎么样,作为相对来说比较新的知识类网站,我对知乎还是非常有信心的。
一进去就看到知乎下面放着这个图片,感觉语义化做的不会差(就是必须要登录才能使用,多少有点不太合适了)
进到首页直奔Header,看起来还不错
再看文章列表,看着这规范的<section>
,舒服了
小结
通过这两个案例的对比,我们可以更好地理解HTML语义化对网页设计的重要性,并从中汲取经验教训,以提升我们自己的网页设计能力。
写项目的时候,尽可能使用语义化标签,既能便于团队开发和维护,又能提升用户体验,还能有助于爬虫抓取更多的有效信息(经典面试题),何乐而不为呢