小知识点总结

  

1.为什么不能创建1px的容器?

这个真没关注过,面试的一道题。回来一查,原因是ie6有默认的行高,网上说是用overflow:hidden|zoom:0.08|line-height:1px,经过测试发现就是overflow:hidden是好用的

2.为什么连接点击过后hover不起作用了?

这个是因为顺序错了,没有按照LoVe HAte顺序写

3.怎么样让input[type=file]兼容各浏览器?

之前专门写过一篇blog是讲他的实现问题的,突然问起来理论不知道该怎么解释。现在归纳一下:

 

小知识点总结

因为各浏览器对它的渲染不同,所以采用一种统一的假象,就是让真的input[type=file]透明,也就是opacity=0,然后在他下面绝对定位一个input+img,他是跟真file的位置要重合的,这样因为真file的透明,看到的是假象的input+img,但是当点击的时候,操作的还是真file,这是实现他的主要代码:

 1 div.fileinputs {

 2     position: relative;

 3 }

 4 

 5 div.fakefile {

 6     position: absolute;

 7     top: 0px;

 8     left: 0px;

 9     z-index: 1;

10 }

11 

12 input.file {

13     position: relative;

14     text-align: right;

15     -moz-opacity:0 ;

16     filter:alpha(opacity: 0);

17     opacity: 0;

18     z-index: 2;

19 }

20 

21 <div class="fileinputs">

22     <input type="file" class="file" />

23     <div class="fakefile">

24         <input />

25         <img src="search.gif" />

26     </div>

27 </div>

参考文章:http://www.w3help.org/zh-cn/causes/HF3001

http://www.quirksmode.org/dom/inputfile.html

 

你可能感兴趣的:(总结)