面试最大的悲哀是什么,鼓足精神背了各种原理题,各种算法题。工作有几年了是吧,说说CSS3的理解,说说HTML语义化,突然让人一脸懵。希望这篇文章可以写的通俗易懂,让你看一遍就印象深刻,不用刻意的去记,下次有人问也能答出来。
HTLM语义化或者叫HTML语义化标签,总的来说就是让每个HTML标签都尽量可以做他自己本该做的事情
这个怎么理解?HTML标签的设定并非单独的一体的,而是和浏览器强绑定的。浏览器虽然有好几家公司,但他们对HTML标签的支持,以及语义化支持都是遵循着W3C标准的。而且每个HTML标签最初的设定都是有一定含义的,例如a标签希望表示超链接,div标签希望做为一个盒子包裹其他元素,p标签希望可以放一个段落,H1到H7希望可以表示一些标题放大加粗的字体,ul 希望可以放一些有序或者无序的列,table最初就是表示渲染数据的。
1、所以写正确的HTML标签,是希望在不写CSS,不掺杂JS的时候,甚至CSS加载失败的时候都可以尽量将网页的架构内容展示出来,CSS好比一身华丽的外衣,但最好不穿外衣也身板完美。
2、既然HTML标签,浏览器更希望大家写的更加语义化一些,那么这样写对于浏览器肯定是更友好的,而对浏览器友好的直接好处就是SEO引擎搜索的抓取更直接,
3、为了实现功能,比如a标签套了div,div内部又左边P段落,右边又是div,里面又嵌套了ul列,列里又有div做了一个按钮,是非常杂乱的,不仅不利于SEO的搜索,后面谁读你的代码都会觉得很low的,非常不利于代码的交接。
4、有一种前端里的职位叫切图,意思就是只负责写HTML和CSS,生成静态页面,流水线式的工作,如果你的HTML语义化特别棒,这种兼职肯定特别适合你,一旦人家找你一次,下次哪怕多给一些钱也会再找你,因为这比那些不注意乱写的人让人省心太多。很多HTML标签写的特色十足,全靠大量的CSS去左靠右挤,一定是让人痛恨的。因为后边很可能花钱请兼职写的代码自己又重新写了一遍。