ylinwind.

html-css基础第一弹。

字数统计: 704阅读时长: 3 min
2019/03/06 Share

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<div id='container'>
<div id='left'></div>
<div id='center'></div>
<div id='right'></div>
</div>
<style>
#container{
display:flex;
}
#left{
width:100px;
height:200px;
background:red;
}
#right{
width:100px;
height:200px;
background:red;
}
#center{
width:calc(100% - 200px);
height:200px;
background:lightblue;
}
</style>

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标签,无兼容问题;
CATALOG
  1. 1. 1.描述一下渐进增强和优雅降级
  2. 2. 2.如何解决使用 inline-block 引起的空白间隙的问题?
  3. 3. 3.使用 CSS 创建一个三角形(一个箭头向右的三角图标)
  4. 4. 4.使用 CSS 实现三个 div 等比排列在一行,两列宽度固定中间自适应
  5. 5. 5.跨域通信有哪些方案,各有什么不同?
  6. 6. 6.哪些常见操作会造成内存泄漏?
  7. 7. 7.超链接访问过后hover样式就不出现的问题是什么?如何解决?
  8. 8. 8.页面导入样式时,使用link和@import有什么区别?