不知不觉中从18年毕业到现在已经2年多了,作为一个前端程序员还没有写过自己的博客,之前有想过要自己总结点自己工作中和学习中感觉有些难度的知识点,一来感觉没有必要,二来感觉自己没有时间,还有一点就是害怕别人的嘲笑。不知道谁说的一句话叫做:“种一棵树最好的时机是十年前,其次是现在”所所以说还是不想这么多了,做自己认为对的事情吧!
今天就来说一下html中常用的面试题能够在实际开发中能用到的东西。面试和实际的开发工程中其实是俩码事,他在面试的过程中问的html中的问题一方面是在考察你的基础,另外一个方面是在考察你应对这次面试的态度。可能你如果是5,6年开发经验的程序员他不会问你这种问题吧,这一点咱也不清楚。可能几年以后我翻到自己写的这篇博客会对这个问题产生新的见解吧,小伙伴们也欢迎在评论区说说你对面试过程中问实际开发过程中不会用到的知识的看法。
html5新增有哪些语义化标签?
- secttion 定义文档中的一个章节
- nav定义只包含导航链接的章节
- header:定义页面或章节的头部。它经常包含 logo、页面标题和导航性的目录。
- footer:定义页面或章节的尾部。它经常包含版权信息、法律信息链接和反馈建议用的地址。
- aside:定义和页面内容关联度较低的内容——如果被删除,剩下的内容仍然很合理。
- article <article>标签中的内容经常包含<h1>、<header>、<footer>等标签
在实际的开发的过程中常用的是article 标签 他的用法可以替代最外面的一个div 然后nav 用来做导航栏 header用来写文章的头部 footer用来写最下面的版权信息什么的。
语义化标签的作用
面试的过程中回答完这些语义化标签的用法顺便和面试官说下作用哈,大概是以下几点随便说两句
去掉或者丢失样式的时候能够让页面呈现出清晰的结构
有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;
便于团队开发和维护,语义化更具可读性,遵循W3C标准的团队都遵循这个标准,可以减少差异化。
html5有哪些新特性、移除了那些元素?
HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。
拖拽释放(Drag and drop) API
- 语义化更好的内容标签(header,nav,footer,aside,article,section)
音频、视频API(audio,video)
画布(Canvas) API
地理(Geolocation) API
- 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失
cookie、sessionStorage和localStorage的区别
- sessionStorage 的数据在页面会话结束时会被清除
- 表单控件,calendar、date、time、email、url、search
- 新的技术webworker, websocket等
websocket有比较全面的官方文档,大家有兴趣可以去玩一下它的api,试着做一些小的demo
移除的元素:
纯表现的元素:basefont,big,center, s,strike,tt,u;
对可用性产生负面影响的元素:frame,frameset,noframes;
以上我把重要的内容都加粗了,大家可以参考相关的链接.
好了,今天的分享到此结束,感谢大家的宝贵时间,在下先滚为敬。