在开发过程中,我们经常会遇到使用背景的地方,比如登录页面,用户信息页面,封面图……
寻找契合业务主题的背景十分耗费精力,总觉得做的背景不合适,
如果直接用图片呢,逻辑是比较简单,但寻找到一张契合业务主题的图片也不是那么容易,
所以想到用符号生成幕布一样的背景,从这个出发点做了这个组件,
滚动的图片墙可能这个需求比较常见,用 SmartBackground 可以很快速的实现,
希望可以帮到您,别忘了 star 哟
一个快速生成元素背景的 react 组件
https://yuanguandong.github.io/smart-background/
npm i smart-background -S
import React from 'react';
import Background from 'smart-background';
import { FaLaugh } from 'react-icons/fa';
export default () => {
return (
<div style={styles.container}>
<Background underlayColor="#f00" animation={{ type: 'bottom', speed: 5 }}>
<div style={styles.content}>
<FaLaugh style={styles.icon} />
<h1 style={styles.text}>JUST DO IT</h1>
</div>
</Background>
</div>
);
};
const styles = {
container: { width: '100%', position: 'relative', height: 350 },
content: {
width: '100%',
height: '100%',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
flexDirection: 'column',
},
icon: { color: '#fff', fontSize: 120 },
text: { color: '#fff', fontSize: 36, fontWeight: 'bold' },
};
property | description | type | defaultValue | required |
---|---|---|---|---|
symbols | 元素 /字符 /符号集合 | (string | ReactNode | Element)[ ] | ['●'] | false |
random | 符号是否随机生成位置和大小 | { fontSizeRange: number[] } | undefined | false | |
underlayColor | 底衬颜色 | string | false | |
underlayImage | 底衬图片 | string | false | |
symbolsStyle | 符号样式 | Object | {color: '#000', opacity: '0.3'} | false |
rotate | 符号旋转角度 | number | 0 | false |
symbolSize | 符号大小 | number | 90 | false |
gap | 符号间距 | number | 10 | false |
animation | 滚动动画 | {type: 'left' | 'right' | 'top' | 'bottom'; speed: number;} | false | |
exact | 精确模式 | boolean | false | false |
1
xiaoming1992 2021-08-28 23:03:50 +08:00 via Android
挺有意思的,demo 页可以留个 github 地址
|
2
xarthur 2021-08-29 11:16:19 +08:00 via iPhone
这个看上去不错。
|
3
seakingii 2021-08-29 12:55:39 +08:00
有意思.可惜 不是 vue 用的
|
4
favori OP @xiaoming1992 感谢关注! demo 页右上角有个 github 的标,可以跳转到 github 仓库
|
7
favori OP |
8
tousfun 2021-08-30 00:59:34 +08:00 via iPhone
好玩
|