美文网首页
CSS3知识汇总25:旋转彩虹

CSS3知识汇总25:旋转彩虹

作者: 0清婉0 | 来源:发表于2021-03-07 17:12 被阅读0次

<div class="rainbow">

    <div></div>

    <div></div>

    <div></div>

    <div></div>

    <div></div>

    <div></div>

</div>

彩虹的初始状态是一些彩色的色块,当鼠标指针悬停在这些色块上时,它们变化成一条彩虹。本项目的主要开发思路是把整个流程分成:绘制初始状态、绘制终止状态、设计缓动效果3个部分。

body{

  margin:0;

  height: 100vh;

  display: flex;

  align-items: center;

  justify-content: center;

}

/*设置一个长方形,并画出辅助线*/

.rainbow{

    width: 20em;

    height: 10em;

    position: relative;

    display: flex;

    outline: 1px dashed black;

    transition: 1s;

}

/*子元素设置背景色,依次是红、橙、黄、绿、蓝、紫*/

.rainbow div:nth-child(1){

    color: orangered;

    --n:1;

}

.rainbow div:nth-child(2){

    color: orange;

    --n:2;

}

.rainbow div:nth-child(3){

    color: yellow;

    --n:3;

}

.rainbow div:nth-child(4){

    color: mediumspringgreen;

    --n:4;

}

.rainbow div:nth-child(5){

    color: deepskyblue;

    --n:5;

}

.rainbow div:nth-child(6){

    color: mediumpurple;

    --n:6;

}

/*设置子元素的样式为横向排列的竖条纹,用滤镜设置为不透明度*/

.rainbow div{

    box-sizing: border-box;

    flex:1;

    background-color: currentColor;

    filter: opacity(0.6);

    transition: 0.5s;

    transition-delay: calc(0.1s*var(--n));

}

.rainbow:hover{

    align-items: center;

    justify-content: center;

    transform: translateY(5em);

}

.rainbow:hover div{

    position: absolute;

    width: calc(100% - 2em * (var(--n) - 1));

    height: calc(200% - 2em * (var(--n) - 1));

    border-radius: 50%;

    /*为了得到半圆,背景色设置为透明,两条边框绘制出半圆弧*/

    background-color: transparent;

    border: 1em solid;

    border-color: transparent currentColor currentColor transparent;

    /*旋转*/

    filter: opacity(1);

    transform: rotate(225deg);

}

相关文章

  • CSS3知识汇总25:旋转彩虹

    彩虹的初始状态是一些彩色的色块,当鼠标指针悬停在这些色块上时,它们变化...

  • 纯css3实现旋转3D立方体骰子

    纯css3实现旋转3D立方体骰子(自旋转型) 主要运用css3的transform,rotate,translat...

  • css3 基础

    1. css3 起步 (图形2D旋转) 2. CSS3 模块 CSS3 被划分为模块。其中最重要的 CSS3 ...

  • CSS3知识汇总14

    【半透明边框】 body{background-color:green}img{ border:10px sol...

  • css3知识汇总:切角

    1.使用渐变 因为渐变可以接受一个角度,比如45deg作为方向,而且色标的位置信息也可以是绝对的长度值,不受容器尺...

  • CSS3知识汇总1

    :nth-child()函数 可以接收一个形如an+b的表达式作为参数,其中a和b是整数,n是从0开始的自然数列 ...

  • CSS3知识汇总5

    【渐变】 线性渐变:从一个位置开始向某个特定的方向渐变,如叶片 径向渐变:从一个位置开始向四周渐变,如灯光散落 l...

  • CSS3知识汇总4

    今晚有个小激动,放下学习后,意外的得到了一笔小回报,虽然钱不多,但很开心。11月学习一小本英文书时发现一个错误,一...

  • CSS3知识汇总2

    这几天学习H5微场景时,发现css知识有些模糊,记得学习CSS时是2007年,到今天已经13年。 之前有很多CSS...

  • CSS3知识汇总3

    19.box-sizing content-box Element Width/Height = border +...

网友评论

      本文标题:CSS3知识汇总25:旋转彩虹

      本文链接:https://www.haomeiwen.com/subject/mqsyqltx.html