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-width: 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,相当于加了一个标签(创建了文档树外的元素)。

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

posted @ 2020-07-01 15:14  HermionePeng  阅读(151)  评论(1编辑  收藏  举报