• 前端面试题二十一


    一、请解释 * { box-sizing: border-box; } 的作用, 并且说明使用它有什么好处?

    这就是将所有元素的border和padding算在width和height里了,就变成了ie的盒模型了。
    使用 * { box-sizing: border-box; }能够统一IE和非IE浏览器之间的差异。
    说到 IE 的 bug,在 IE6以前的版本中,IE对盒模型的解析出现一些问题,跟其它浏览器不同,将 border 与 padding 都包含在 width 之内。
    而另外一些浏览器则与它相反,是不包括border和padding的。
    对于IE浏览器,当我们设置 box-sizing: content-box; 时,浏览器对盒模型的解释遵从我们之前认识到的 W3C 标准,当它定义width和height时,它的宽度不包括border和padding;
    对于非IE浏览器,当我们设置box-sizing: border-box; 时,浏览器对盒模型的解释与 IE6之前的版本相同,当它定义width和height时,border和padding则是被包含在宽高之内的。
    内容的宽和高可以通过定义的“width”和 “height”减去相应方向的“padding”和“border”的宽度得到。
    内容的宽和高必须保证不能为负,必要时将自动增大该元素border box的尺寸以使其内容的宽或高最小为0。

    二、请罗列出你所知道的 display 属性的全部值

    none:不显示 block:此元素将显示为块级元素,此元素前后会带有换行符 inline:默认。此元素会被显示为内联元素,元素前后没有换行符。 inline-block:行内块元素
    list-item:此元素会作为列表显示 run-in:此元素会根据上下文作为块级元素或内联元素显示 table:此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符
    inline-table:此元素会作为内联表格来显示(类似 <table>),表格前后没有换行符。 table-row:此元素会作为一个表格行显示(类似 <tr>)。
    table-cell:此元素会作为一个表格单元格显示(类似 <td> 和 <th>) inherit:规定应该从父元素继承 display 属性的值。

    三、请问为何要使用 translate() 而非 absolute positioning,或反之的理由?为什么?

    使用 transform 或 position 实现动画效果时是有很大差别。

    使用 transform 时,可以让 GPU 参与运算,动画的 FPS 更高。

    使用 position 时,最小的动画变化的单位是 1px,而使用 transform 参与时,可以做到更小(动画效果更加平滑)

    功能都一样。但是translate不会引起浏览器的重绘和重排,这就相当nice了。

    作者:Arno_z

    链接:https://www.jianshu.com/p/1c314dd0ba1f

    來源:简书

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

     

  • 相关阅读:
    对于WP你所要了解的一些数字
    Win8系统太难用,再也不用了
    WP8下一些图片图标的常识(菜鸟篇)
    Wp8程序加载运行顺序(菜鸟篇)
    DLNA介绍(包括UPnP)
    一个通用的WPF值转换器
    C#创建Windows服务
    Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 3 数据访问层
    Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 1准备
    ASP.NET MVC Localization Helpers (本地化帮助方法)
  • 原文地址:https://www.cnblogs.com/jian138/p/8525228.html
Copyright © 2020-2023  润新知