zoukankan      html  css  js  c++  java
  • HTML&CSS面试高频考点(四)

    【面试 · 回看】

    ♥HTML&CSS面试高频考点(一)

    ♥HTML&CSS面试高频考点(二)

    ♥HTML&CSS面试高频考点(三)

    16. CSS动画

    • @keyframes规则用于创建动画

    为兼容有的浏览器,需要加上前缀:

    @keyframes myfirst
    {
    from {background: red;}
    to {background: yellow;}
    }
    
    @-moz-keyframes myfirst /* Firefox */
    {
    from {background: red;}
    to {background: yellow;}
    }
    
    @-webkit-keyframes myfirst /* Safari 和 Chrome */
    {
    from {background: red;}
    to {background: yellow;}
    }
    
    @-o-keyframes myfirst /* Opera */
    {
    from {background: red;}
    to {background: yellow;}
    }
    • 使用animation定义动画必须定义名称和时长。如果忽略时长动画会不被允许,因为默认值是0。
    • CSS动画用百分比来规定变化发生的时间,或用关键词"from"和"to",等同于0%和100%。
    • animation-iteration-count规定动画被播放的次数,默认是1。

    animation和transition的区别

    1. transition通常与hover等事件配合使用,由事件触发。而animation则是立即播放的动画。
    2. animation可以设定循环次数。
    3. translation只能设置头尾,而animation可以设置每一帧的样式和时间。transition所有样式属性都要一起变化,而animation可以设置每一帧需要单独变化的样式属性。
    4. animation与JS交互不紧密,transition与JS结合更强大。

    17. CSS实现三角形

    <style>
    .triangle{
    width: 0;
    border-top: 30px solid blue;
    border-right: 30px solid yellow;
    border-bottom: 30px solid green;
    border-left: 30px solid red;
    }
    </style>
    <body>
    <div class="triangle"></div>
    </body>

    这样的效果是:

    只要把不需要的三个置为颜色透明即可。

    =>如果需要锐角/钝角三角形,只需要设置上下宽高与左右宽高不同即可:

    border- 100px 50px;  //上下>左右 锐角三角形

    18. CSS精灵图

     CSS Sprites,又称为CSS精灵图、CSS雪碧图,或意译为CSS图片整合或CSS贴图定位,就是将很多张图片利用PS合称为一张背景图,再利用background-position进行背景定位的一种技术。

    CSS Sprites的优点

    1. 减少浏览器向服务器请求的次数,减少http请求的次数,提高了网页的加载速度。
    2. 整合在一张图片上后图片的字节数减少。
    3. 改变网页的风格只需改变一张图,便于后期的维护和修改。

    使用方法:使用CSS的background-image、 background-position、background-repeat属性。

    19. px rem em

    •  px像素,相对长度单位。像素是相对于显示器屏幕分辨率而言的。
    • em,相对长度单位。相对于当前对象内文本的字体尺寸。如果当前行内文本的字体未被设置,则相对于浏览器的默认字体尺寸。

    em的特点

    1. em的值不是固定的;
    2. em会继承父级元素的字体大小(会引起逐层复合的连锁反应)。

    => 由于任何浏览器的默认字体高都是16px,所以在CSS的body选择器中声明Font-size = 62.5%,可以使得px与em之间刚好是10倍的关系。

    *尤其注意计算子元素的字体大小,可能会出现em的继承问题。

    • rem,CSS3新增,相对的只是HTML根元素。只修改根元素就可以成比例的调整所有的字体大小,又可以避免字体大小逐层复合的连锁反应。

    20. 伪类 伪元素

    CSS引入伪类和伪元素是为了格式化文档树以外的信息。

    伪类和伪元素的区别:

    • 伪类:操作对象是文档树中已有的元素。如:first-child,相当于给已有的元素加了一个类名class;
    • 伪元素:创建了一个文档树外的元素。如:first-letter,相当于加了一个标签(创建了文档树外的元素)。

    伪类使用单冒号,伪元素使用双冒号,加以区别。

  • 相关阅读:
    Ext.window.Window在IE有部分半透明的问题
    匹配用户名的正则表达式
    PHP超时处理全面总结
    Extjs4 actioncolumn只能显示图标,不能显示文字的暂时解决方法
    SQL语句
    SQL Server 日期和时间函数
    asp.net 2.0中一次性更新所有GRIDVIEW的记录
    如何生成静态页面的五种方案[转]
    SQL IF..ELSE..在存储过程的使用规范
    数据库操作语句小结
  • 原文地址:https://www.cnblogs.com/hermionepeng/p/13218623.html
Copyright © 2011-2022 走看看