HTML和CSS面试真题和研究方向小结(1)

143 阅读3分钟

1.DOCTYPE的意义是什么? 例子:很久以前ie浏览器有它自己的渲染模式,以盒子模型为例: 一个盒子如果设定了width,实际宽度会包含padding和margin,比如width=200,padding=10 那么实际内容宽度就是180(200-10-10) 标准盒子模型:width=200,padding=10,那么实际内容宽度是200+10+10=220 所以如果html头部使用!DOCTYPE,那么IE浏览器就会以标准模式渲染(标准盒子模式),width=220px,同上一行220 小结:意义在于让浏览器以标准模式渲染,让浏览器知道元素的合法性 2.HTML XHTML HTML5的关系 HTML属于SGML XHTML属于XML,是HTML进行XML严格化的结果 HTML5不属于SGML或XML,比XHTML宽松 3.HTML5有什么变化? 新的语义化元素,header,footer,aside,section,article... 表单增强 新的API(离线,音视频,图形Canvas,实时通信webSocket,本地存储localStorage,indexDB,设备能力) 分类和嵌套变更 4.em和i有什么区别? em是语义化的标签,表示强调 i是纯样式标签,斜体(已经废弃) 5.语义化的意义? 开发者容易理解,机器容易理解(搜索,读屏软件),有助于SEO semantic microdata(后期待研究,细致语义化操作) 6.哪些元素可以自闭合?(自闭合元素内部不能嵌套其他元素,而且元素结尾需要闭合/符号) 表单元素input, 图片元素img, br,hr, meta, link 7. HTML和DOM的关系? HTML经过浏览器解析后才会变成DOM的树状结构 JS可以维护DOM 8.property和attribute的区别? property特性,可以认为是活的 attribute属性,可以认为是死的 比如input标签的value就是该标签的属性,被HTML解析后可以使用$0.value去获取该值,此时就是特性 特性的用法:$0.getAttribute('value')和$0.setAttribute('value','3') 9.form的作用? 直接提交表单(get/post) 使用submit/reset按钮(非直接提交) 便于浏览器保存表单 第三方库可以整体提取值,进行表单验证 10.CSS的选择器优先级(Cascading Style Sheet全称)及其分类: 常见:id选择器>class选择器>标签选择器 元素选择器a{} 伪元素选择器 ::before ::after 类选择器 class 属性选择器 [type=radio]{} 伪类选择器 :hover{} id选择器 #id{} 组合选择器 否定选择器 :not(.link){} 通用选择器 *{} 权重分布:id选择器+100>类,属性,伪类选择器+10>元素,伪元素选择器+1>其他选择器+0 计算权重不进位,也就是说一个id选择器的权重比11个class选择器的权重要高 !important优先级最高,切忌滥用 元素属性优先级高(内联样式),比同元素的id还高 相同权重,后写的覆盖前面的 11.CSS中的雪碧图和base64的用法: 雪碧图简而言之是把一张图片以background: url(),background-position: center top... background-repeat: no-repeat等以 background属性为核心的图片偏移技巧,目的是使图片只展示我们需要的一小部分,而非全部显示。 base64是将图片在贤转换为base64的网络地址形式,仅适用于小型图标,最典型的例子就是阿里图标库的iconfont