1.描述一下渐进增强和优雅降级
渐进增强(Progressive Enhancement): 一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验。
优雅降级(Graceful Degradation):一开始就构建站点的完整功能,然后针对浏览器测试和修复。比如一开始使用 CSS3 的特性构建了一个应用,然后逐步针对各大浏览器进行 hack 使其可以在低版本浏览器上正常浏览。
2.如何解决使用 inline-block 引起的空白间隙的问题?
从HTML入手,改变标签写法,将标签存在的换行符删除掉;例如:
1
2
3
4
5
6
7
8
9<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
//变为如下
<ul>
<li>1</li><li>2</li><li>3</li>
</ul>利用CSS 直接父级元素设置 font-size = 0;
3.使用 CSS 创建一个三角形(一个箭头向右的三角图标)
此类题目精髓就是利用好border就好了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <style>
#demo {
width: 100px;
height: 100px;
background-color: #fff;
position: relative;
border: 2px solid #333;
}
#demo:after, #demo:before {
border: solid transparent;
content: ' ';
height: 0;
left: 100%;
position: absolute;
width: 0;
}
#demo:after {
border-width: 10px;
border-left-color: #fff;
top: 20px;
}
#demo:before {
border-width: 12px;
border-left-color: #000;
top: 18px;
}
</style>
<div id='demo'></div>
4.使用 CSS 实现三个 div 等比排列在一行,两列宽度固定中间自适应
1 | <div id='container'> |
5.跨域通信有哪些方案,各有什么不同?
...
6.哪些常见操作会造成内存泄漏?
...
7.超链接访问过后hover样式就不出现的问题是什么?如何解决?
被点击访问过的超链接样式不在具有hover和active了,解决方法是改变CSS属性的排列顺序: L-V-H-A(link,visited,hover,active);
8.页面导入样式时,使用link和@import有什么区别?
- link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用;而@import是CSS提供的,只能用于加载CSS;
- 页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;
- import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题;