diff --git a/src/components/stateless/MeshGradientBackground/index.jsx b/src/components/stateless/MeshGradientBackground/index.jsx new file mode 100644 index 00000000..8b3ceb04 --- /dev/null +++ b/src/components/stateless/MeshGradientBackground/index.jsx @@ -0,0 +1,14 @@ +import React from 'react' +import styles from './index.module.less' + +const MeshGradientBackground = (props) => { + return ( +
+
Mesh Gradient Background
+
+ ) +} +export default MeshGradientBackground + +// https://www.csshero.org/animator/ +// https://csshero.org/mesher/ diff --git a/src/components/stateless/MeshGradientBackground/index.module.less b/src/components/stateless/MeshGradientBackground/index.module.less new file mode 100644 index 00000000..c818a923 --- /dev/null +++ b/src/components/stateless/MeshGradientBackground/index.module.less @@ -0,0 +1,55 @@ +.background { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: #ff99df; + background-image: radial-gradient(circle at 52% 73%, hsla(310, 85%, 67%, 1) 0px, transparent 50%), + radial-gradient(circle at 0% 30%, hsla(197, 90%, 76%, 1) 0px, transparent 50%), + radial-gradient(circle at 41% 26%, hsla(234, 79%, 69%, 1) 0px, transparent 50%), + radial-gradient(circle at 41% 51%, hsla(41, 70%, 63%, 1) 0px, transparent 50%), + radial-gradient(circle at 41% 88%, hsla(36, 83%, 61%, 1) 0px, transparent 50%), + radial-gradient(circle at 76% 73%, hsla(346, 69%, 70%, 1) 0px, transparent 50%), + radial-gradient(circle at 29% 37%, hsla(272, 96%, 64%, 1) 0px, transparent 50%); + + background-size: 150% 150%; + filter: blur(10px); + animation: moveBackground 10s linear infinite; +} + +@keyframes moveBackground { + 0% { + background-size: 100% 100%; + } + 10% { + background-size: 120% 80%; + } + 20% { + background-size: 190% 140%; + } + 30% { + background-size: 130% 110%; + } + 40% { + background-size: 150% 120%; + } + 50% { + background-size: 180% 100%; + } + 60% { + background-size: 220% 80%; + } + 70% { + background-size: 100% 50%; + } + 80% { + background-size: 120% 70%; + } + 90% { + background-size: 110% 90%; + } + 100% { + background-size: 100% 100%; + } +} diff --git a/src/pages/home/index.jsx b/src/pages/home/index.jsx index 1e55a230..6cefd1bb 100644 --- a/src/pages/home/index.jsx +++ b/src/pages/home/index.jsx @@ -21,6 +21,7 @@ import ScrollAnimation from '@stateless/ScrollAnimation' import AnimateOnScreen from '@stateless/AnimateOnScreen' import AnimateRipple from '@stateless/AnimateRipple' import AnimateWave from '@stateless/AnimateWave' +import MeshGradientBackground from '@stateless/MeshGradientBackground' import { oneApiChat, prettyObject } from '@utils/aidFn' @@ -217,6 +218,9 @@ const Home = () => { +
+ +
Click Me
@@ -224,6 +228,11 @@ const Home = () => {
water mark
mask +
+ +
@@ -236,7 +245,7 @@ const Home = () => { onChange={changeChatText} onKeyDown={onInputKeyDown} autoSize - style={{ width: 300, height: 30 }} + style={{ width: 300, height: 30, caretColor: '#ff0000' }} />