HTML与CSS面试题
1.HTML、XHTML、XML有什么区别 ?
2.知道img的srcset的作用是什么?
- 查看设备宽度
- 检查 sizes 列表中哪个媒体条件是第一个为真
- 查看给予该媒体查询的槽大小
- 加载 srcset 列表中引用的最接近所选的槽大小的图像srcset提供了根据屏幕条件选取图片的能力
3.link和@import的区别?
- link属于XHTML标签,而@import是CSS提供的。
- 页面被加载时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载。
- import只在IE 5以上才能识别,而link是XHTML标签,无兼容问题。
- link方式的样式权重高于@import的权重。
- 使用dom控制样式时的差别。当使用javascript控制dom去改变样式的时候,只能使用link标签,
- 因为@import不是dom可以控制的。
4.如何理解层叠上下文是什么?
- 根元素 (HTML),
- z-index 值不为 "auto"的 绝对/相对定位,
- 一个 z-index 值不为 "auto"的 flex 项目 (flex item),即:父元素 display: flex|inline-flex,
- opacity 属性值小于 1 的元素(参考 the specification for opacity),
- transform 属性值不为 "none"的元素,
- mix-blend-mode 属性值不为 "normal"的元素,
- filter值不为“none”的元素,
- perspective值不为“none”的元素,
- isolation 属性被设置为 "isolate"的元素,
- position: fixed
- 在 will-change 中指定了任意 CSS 属性,即便你没有直接指定这些属性的值(参考 这篇文
- 章)
- -webkit-overflow-scrolling 属性被设置 "touch"的元素
5.谈谈对BFC的理解 是什么?
- Block: Block在这里可以理解为Block-level Box,指的是块级盒子的标准
- Formatting context:块级上下文格式化,它是页面中的一块渲染区域,并且有一套渲染规则,它 决定了其子元素将如何定位,以及和其他元素的关系和相互作用
BFC触发条件:
- 根元素,即HTML元素
- position: fixed/absolute
- float 不为none
- overflow不为visible
- display的值为inline-block、table-cell、table-caption
作用是什么?
- 防止margin发生重叠
- 两栏布局,防止文字环绕等
- 防止元素塌陷
6.html5有哪些新特性,移除了哪些元素?如何处理HTML5新标签的浏览器谦 容问题?如何区分HTML和HTML5?
7.为什么有时候人们用translate来改变位置 而不是定位?
8.浏览器的内核分别是什么?经常遇到的浏览器的谦容性有哪些?原因,解决方法是什么,常用hack的技巧?
9.html常见谦容性问题?
10.描述一个“reset”的css文件并如何使用它。知道normalize.css吗?你了解他们的不同之处?
11.什么是外边距重叠?重叠的结果是什么?
12.box-sizing常用的属性有哪些?分别有啥?
13.CSS中transition和animate有何区别?animate如何停留在最后一帧
14.什么是css hack? ie6,7,8的hack分别是什么?
在我们制作页面时CSS hack由于不同的浏览器,比如Internet Explorer,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。
CSS Hack大致有3种表现形式,属性级Hack、选择器Hack以及IE条件Hack
15.谈谈以前端角度出发做好SEO需要考虑什么?
- 外链数量和质量
- 网页内容和结构
- 来决定某关键字下的网页搜索排名。
- Meta标签优化
- 主要包括主题(Title),网站描述(Description)。还有一些其它的隐藏文字比如Author(作者),
- Category(目录),Language(编码语种)等。
- 符合W3C规范的语义性标签的使用
16.一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这 些图片的加载,给用户更好的体验
17.你能描述一下渐进增强和优雅降级之间的不同吗?
优雅降级”观点
“优雅降级”观点认为应该针对那些最高级、最完善的浏览器来设计网站。而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器(如 IE、Mozilla 等)的前一个版本。
在这种设计范例下,旧版的浏览器被认为仅能提供“简陋却无妨 (poor, but passable)” 的浏览体验。你可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较大的错误之外,其它的差异将被直接忽略。
“渐进增强”观点
“渐进增强”观点则认为应关注于内容本身。
内容是我们建立网站的诱因。有的网站展示它,有的则收集它,有的寻求,有的操作,还有的网站甚至会包含以上的种种,但相同点是它们全都涉及到内容。这使得“渐进增强”成为一种更为合理的设计范例。这也是它立即被 Yahoo! 所采纳并用以构建其“分级式浏览器支持 (Graded Browser Support)”策略的原因所在。
用通俗的话来说就是优雅降级是从高版本到低版本,渐进增强是从低版本到高版本
18.为什么利用多个域名来储存网站资源会更有效?
- CDN缓存更方便
- 突破浏览器并发限制
- 节约cookie带宽
- 节约主域名的连接数,优化页面响应速度
- 防止不必要的安全问题
19.css中可以通过哪些属性定义,使得一个dom元素不显示在浏览器可视范围内?
- 设置display属性为none,或者设置visibility属性为hidden
- 设置宽高为0,设置透明度为0,设置z-index位置在-1000em
- 设置text-indent:-9999px;
20.超链接访问过后hover样式就不出现的问题是什么?如何解决?
21.css中可以让文字在垂直和水平方向上重叠的两个属性是什么/
22.display:none 与visibility:hidden的区别是什么?
23.IE的双边BUG:块级元素float后设置横向margin,ie6显示margin比设置的较大
24.absolute的containing block 计算方式跟正常流有什么不同?
lock-level boxes
一个 block-level element (‘display’ 属性值为 ‘block’, ‘list-item’ 或是 ‘table’) 会生成一个 block-level box,这样的盒子会参与到 block-formatting context (一种布局的方式) 中。
block formatting context
在这种布局方式下,盒子们自所在的 containing block 顶部起一个接一个垂直排列,水平方向上撑满整个宽度 (除非内部的盒子自己内部建立了新的 BFC)。
containing block
一般来说,盒子本身就为其子孙建立了 containing block,用来计算内部盒子的位置、大小,而对内部的盒子,具体采用哪个 containing block 来计算,需要分情况来讨论:
若此元素为 inline 元素,则 containing block 为能够包含这个元素生成的第一个和最后一个 inline box 的 padding box (除 margin, border 外的区域) 的最小矩形;
否则则由这个祖先元素的 padding box 构成。
根元素所在的 containing block 被称为 initial containing block,在我们常用的浏览器环境下,指的是原点与 canvas 重合,大小和 viewport 相同的矩形;
对于 position 为 static 或 relative 的元素,其 containing block 为祖先元素中最近的 block container box 的 content box (除 margin, border, padding 外的区域);
对于 position:fixed 的元素,其 containing block 由 viewport 建立;
对于 position:absolute 的元素,则是先找到其祖先元素中最近的 position 属性非 static 的元素,然后判断:
如果都找不到,则为 initial containing block。
25.知道css有个content属性吗?有什么作用?有什么应用?
26.css新增伪类有哪些?
27.sass,less是什么?大家为什么要使用他们?
- 结构清晰,便于扩展。
- 可以方便地屏蔽浏览器私有语法差异。这个不用多说,封装对浏览器语法差异的重复处理,减少无意义的机械劳动。
- 可以轻松实现多重继承。
- 完全兼容 CSS 代码,可以方便地应用到老项目中。LESS 只是在 CSS 语法上做了扩展,所以老的 CSS 代码也可以与 LESS 代码一同编译。
28.css动画animation
动画(animation):和过渡类似,都是可以实现一些动态的效果,不同的是过渡需要在某个属性发生变化时才可以触发,而动画效果则可以自动触发动态效果。设置动画效果必须先要设置一个关键帧
常见属性:
animation-name: 要对当前元素生效的关键帧的名字,如:animation-name: test;
animation-duration: 动画的执行时间,如:animation-duration: 4s;
animation-iteration-count: 动画执行的次数,如:animation-iteration-count: 4,可选值:数字或infinite,其中数字的大小就是执行的次数,而infinite则表示无限次。
animation-timing-function: 指定动画执行的时序函数;
animation-direction: 指定动画运行的方向,可选值如下:
- normal,默认值,从from到to运行,每次都是这样;
- reverse,从to到from运行,每次都是这样;
- alternate,从from向to运行,重复执行动画时会方向执行,即第一个是从from到to,第二次则是从to到from……;
- alternate-reverse,与alternate的执行时反向的;
animation-play-state: 控制动画的运行状态,可选值如下:
- running,默认值,动画运行;
- paused,动画暂停;
animation-fill-mode: 动画的填充模式,可选值如下:
- none,默认值,动画执行完毕后,元素回到原来的位置;
- forwards,动画执行完毕后,元素会停止在动画执行结束的位置;
- backwards,动画延时等待时,元素就会处于开始的位置,即from或to所指定的位置;
- both,结合了forwards和backwards;
HTML与CSS面试题相关推荐
- HTML、CSS面试题
HTML.CSS面试题 元素的alt和title有什么异同(★) 简述src和href的区别(★) 元素的隐藏有哪些?(★) 你对语义化的理解?(★) 谈谈对bfc规范的理解(★) CSS选择器以及优 ...
- 前端基础:100道CSS面试题总结
前言 CSS 是层叠样式表(Cascading Style Sheets)的简称.CSS 主要作用是美化网页.布局页面.CSS 规则主要由两个主要部分构成:选择器及一条或多条声明.在前端基础面试中,C ...
- 值得收藏的 104个 CSS 面试题
给大家分享104个 CSS 面试题,助你查漏补缺.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助 CSS 面试知识点总结 最近在整理 CSS 的时候发现遇到了很多面试中常见的面试题,本 ...
- CSS面试题总结,助(祝)2021成功拿到offer
今天是2020年的最后一天,希望2021年的我们会更好! html.css基础 1,link和@import的区别? 从属关系区别: link属于html标签,而@import是css提供的. 加载顺 ...
- 104道 CSS 面试题
104道 CSS 面试题 (给前端大全加星标,提升前端技能) 作者:CavsZhouyou https://github.com/CavsZhouyou/Front-End-Interview-Not ...
- 百度糯米android面试题,前端面试—CSS面试题汇总
前端面试-CSS面试题汇总 博客说明文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 1.flex常见面试题 Flex 是 Flexible ...
- 104道 CSS 面试题,助你查漏补缺(下)
作者:CavsZhouyou https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/Css/Css.md 本部 ...
- 【面试题】104道 CSS 面试题,助你查漏补缺(下)
作者:CavsZhouyou https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/Css/Css.md 本部 ...
- html+css面试题(更新中)
html面试题 「学习笔记」HTML基础 (qq.com) (17条消息) html面试题总结_Mr.Gu的博客-CSDN博客 (17条消息) HTML面试题_萌萌哒の瑞萌萌的博客-CSDN博客 文章 ...
- 【2022前端面试】CSS面试题汇总(加紧收藏)
[2022前端面试]CSS面试题汇总(加紧收藏) 更新时间:2022年3月2日. 本文致力于建设前端面试题库,欢迎兄弟们投稿哈! 大纲 CSS整体的在上次的篇幅上有了较大的变化,画一个思维导图及时更新 ...
最新文章
- iOS progressive Web App (PWA) 技术
- Python有趣现象(不定时更新)
- zigbee之SampleApp_ProcessEvent()
- python读取raw数据文件_在python下读取并展示raw格式的图片实例
- line-height与图片底部间隙的学习整理转述
- JSch:Java Secure Channel -- java 代码实现 ssh 远程操作
- element-ui clearable 不显示_从ElementUI的loading组件说起
- 论文公式编号右对齐_公式对齐(二):公式居中,编号右对齐(MathType 6.9)
- 计算机科学在各专业领域中的应用,计算机科学在各专业领域中的应用
- 为什么我们应该使用 Flutter?
- vue-cli 搭建的项目处理不同环境下请求不同域名的问题
- opengl 关于glGenBuffers函数没有定义
- GML C++ Camera Calibration Toolbox 相机标定畸变矫正
- java获取当前路径的几种方法
- python--查询PG数据库
- Git Commit failed with error The Git process exited with the code -1,073,741,819
- 谈谈自信,为什么自信是成功的第一秘诀?
- Canonical标签的作用及使用方法
- oracle用户删除了可以恢复吗,oracle_oracle误删数据恢复方法小结,如果用户误删/更新了数据后, - phpStudy...
- Mysql Field * doesn't have a default value解决方法