html创建等边三角形,CSS3 等边三角形组成星形图案

这篇博客介绍了如何使用CSS创建一个旋转的六边形,并结合XOR三角形,形成类似XOR门的视觉效果。通过设置不同动画和混合模式,实现了元素的动态变化和交互。主要涉及CSS布局、动画、背景和颜色、transform属性以及过渡效果。
摘要由CSDN通过智能技术生成

CSS

语言:

CSSSCSS

确定

html,

body {

height: 100%;

}

body {

background: #eeefee;

font-size: 150px;

overflow: hidden;

}

.triangle {

position: relative;

width: 0.86603em;

height: 1em;

margin-top: -0.5em;

overflow: hidden;

transform-origin: left center;

}

.triangle::after {

content: '';

display: block;

position: absolute;

top: 0;

left: -0.5em;

width: 1em;

height: 1em;

background: currentColor;

transform: scaleY(0.57735) rotate(45deg) scale(1.22474);

}

@keyframes globalRot {

from {

transform: rotate(30deg) scale(0.33333);

}

to {

transform: rotate(90deg) scale(1);

}

}

.container {

position: absolute;

top: 50%;

left: 50%;

width: 5em;

height: 5em;

margin: -2.5em 0 0 -2.5em;

background: #eeefee;

animation: globalRot 3s linear infinite;

}

.xor .triangle {

position: absolute;

top: 50%;

left: 50%;

mix-blend-mode: difference;

color: #fff;

}

@keyframes xorTri1 {

from, 44% {

opacity: 0;

transform: rotate(0deg) translateX(0.86603em);

}

45% {

opacity: 1;

}

46% {

transform: rotate(0deg) translateX(0.86603em);

}

95%,

to {

opacity: 1;

transform: rotate(0deg) translateX(-0.28868em);

}

}

.xor .triangle:nth-child(1) {

animation: xorTri1 3s infinite;

}

@keyframes xorTri2 {

from, 44% {

opacity: 0;

transform: rotate(180deg) translateX(0.86603em);

}

45% {

opacity: 1;

}

46% {

transform: rotate(180deg) translateX(0.86603em);

}

95%,

to {

opacity: 1;

transform: rotate(180deg) translateX(-0.28868em);

}

}

.xor .triangle:nth-child(2) {

animation: xorTri2 3s infinite;

}

.six {

position: absolute;

top: 50%;

left: 50%;

width: 0;

height: 0;

animation: six 3s linear infinite;

}

@keyframes six {

from, 45% {

opacity: 1;

}

46%,

to {

opacity: 0;

}

}

.six .triangle {

position: absolute;

top: 50%;

left: 50%;

color: #111011;

}

.six .triangle:nth-child(1) {

animation: sixTri1 3s infinite;

}

@keyframes sixTri1 {

from, 0% {

transform: rotate(60deg) translateX(0.86603em) translateX(33%) rotate(0) scale(1) translateX(-33%);

}

44%,

to {

transform: rotate(60deg) translateX(0.86603em) translateX(33%) rotate(-120deg) scale(0) translateX(-33%);

}

}

.six .triangle:nth-child(2) {

animation: sixTri2 3s infinite;

}

@keyframes sixTri2 {

from, 0% {

transform: rotate(120deg) translateX(0.86603em) translateX(33%) rotate(0) scale(1) translateX(-33%);

}

44%,

to {

transform: rotate(120deg) translateX(0.86603em) translateX(33%) rotate(-120deg) scale(0) translateX(-33%);

}

}

.six .triangle:nth-child(3) {

animation: sixTri3 3s infinite;

}

@keyframes sixTri3 {

from, 0% {

transform: rotate(180deg) translateX(0.86603em) translateX(33%) rotate(0) scale(1) translateX(-33%);

}

44%,

to {

transform: rotate(180deg) translateX(0.86603em) translateX(33%) rotate(-120deg) scale(1) translateX(-33%);

}

}

.six .triangle:nth-child(4) {

animation: sixTri4 3s infinite;

}

@keyframes sixTri4 {

from, 0% {

transform: rotate(240deg) translateX(0.86603em) translateX(33%) rotate(0) scale(1) translateX(-33%);

}

44%,

to {

transform: rotate(240deg) translateX(0.86603em) translateX(33%) rotate(-120deg) scale(0) translateX(-33%);

}

}

.six .triangle:nth-child(5) {

animation: sixTri5 3s infinite;

}

@keyframes sixTri5 {

from, 0% {

transform: rotate(300deg) translateX(0.86603em) translateX(33%) rotate(0) scale(1) translateX(-33%);

}

44%,

to {

transform: rotate(300deg) translateX(0.86603em) translateX(33%) rotate(-120deg) scale(0) translateX(-33%);

}

}

.six .triangle:nth-child(6) {

animation: sixTri6 3s infinite;

}

@keyframes sixTri6 {

from, 0% {

transform: rotate(360deg) translateX(0.86603em) translateX(33%) rotate(0) scale(1) translateX(-33%);

}

44%,

to {

transform: rotate(360deg) translateX(0.86603em) translateX(33%) rotate(120deg) scale(1) translateX(-33%);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值