何为优雅降级?何为渐进增强?
优雅降级跟渐进增强都是在css3之后出现的概念,围绕这浏览器的对css的兼容性来探讨问题。优雅降级是指先用最靠前的技术来构建页面,之后通过hack去调整浏览器的兼容性;渐进增强是先针对低版本浏览器来构建基本页面,再针对高版本浏览器添加一些效果、交互。
何为hack?
通过在css样式中添加一些特殊的符号,通过使不同的浏览器识别不同的符号来达到针对不同浏览器使用不同样式的效果(css Hack)
何为css sprite(精灵)?
css sprite 就是将网页中的一些碎片图标整合到一张图片中,然后再通过background-image来确定显示哪部分的图片,如下所示
- 优点:减少了网页http请求,减小了图片size、更换图片风格方便,一张图片颜色样式统一、
- 缺点:具体显示哪部分还得去计算大小位置、图片合并麻烦
何为FOUC?
Flash Of Unstyled Content,就是样式在DOM渲染之后才加载,导致DOM重新加载,样式发生改变而导致页面闪烁,所以css样式要放到head标签下
link 与 @import的区别?
- link是html中的语法,@import是css的语法;
- link用于在html文件中引入css样式,@import用于在css文件中引入其他css样式;
- link支持并行下载,@import过多会导致串行下载,造成FOUC
- 浏览器对link的支持早于对@import的支持
- link 优先于 @import
何为BFC?
块级格式化上下文,可以防止父子元素外边距折叠的情况产生
何为重绘和回流?
回流(reflow):当页面中元素的大小、结构、某些属性(display)发生改变,浏览器重新渲染页面的过程
重绘(repaint):当元素改变的样式不影响元素在文档中的位置,浏览器重新绘制页面的过程
由此可见回流比重绘的代价要高
css position