Is there any way to pass a variable from ReactJS to a CSS stylesheet?(有没有办法将变量从ReactJS传递到CSS样式表?)
本文介绍了有没有办法将变量从ReactJS传递到CSS样式表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在编写一个组件数量可变的滚动滚动条,因此我需要它来更改translate3d根据组件数量移动它的距离。我能想到的唯一方法就是以某种方式向它传递JSX文件中的一个数字,但我找不到这样做的方法。有没有什么方法可以传递CSS变量,或者其他某种方式来完成我想要的操作?
推荐答案
有几个« CSS in JS »库允许您向组件动画中添加keyframes。在JavaScript中编写样式时,可以直接使用组件属性/状态或某些其他常量来创建组件样式。
以下3个库都支持关键帧(我个人一直在使用第一个):
样式组件(GitHub)
import styled, { keyframes } from 'styled-components';
const rotate360 = keyframes`
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
`;
const Rotate = styled.div`
display: inline-block;
animation: ${rotate360} 2s linear infinite;
`;
魅力(GitHub)
import { css } from 'glamor'
let bounce = css.keyframes('bounce', {
'0%': { transform: 'scale(0.1)', opacity: 0 },
'60%': { transform: 'scale(1.2)', opacity: 1 },
'100%': { transform: 'scale(1)' }
})
<div {...css({
animation: `${bounce} 2s`,
width: 50, height: 50,
backgroundColor: 'red'
})}>
bounce!
</div>
Aphrodite(GitHub)
const translateKeyframes = {
'0%': { transform: 'translateX(0)' },
'50%': { transform: 'translateX(100px)' },
'100%': { transform: 'translateX(0)' },
};
const opacityKeyframes = {
'from': { opacity: 0 },
'to': { opacity: 1 }
};
const styles = StyleSheet.create({
zippyHeader: {
animationName: [translateKeyframes, opacityKeyframes],
animationDuration: '3s, 1200ms',
animationIterationCount: 'infinite',
},
});
<div className={css(styles.zippyHeader)}>...</div>
了解有关«JS中的CSS»模式的详细信息
- React: CSS in JS (presentation by Christopher Chedeau, Facebook)(2014年11月8日)
- Writing your styles in JS ≠ writing inline styles(2016年11月25日)
希望能有所帮助!:)
这篇关于有没有办法将变量从ReactJS传递到CSS样式表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:有没有办法将变量从ReactJS传递到CSS样式表?
基础教程推荐
猜你喜欢
- 在 Javascript 中使用 Fetch API 上传文件并显示进度 2022-01-01
- 使用 jQuery 在悬停时交换 DIV 类 2022-01-01
- 从快速中间件中排除路由 2022-01-01
- 即使每次插入第一个输入的值不同,第二个输入仍显示相同的输入值 2022-01-01
- 最佳动态 JavaScript/JQuery 网格 2022-01-01
- 逻辑运算符 ||在 javascript 中,0 代表 Boolean false? 2022-01-01
- 当木偶师打开Chrome时,不能使用Chrome扩展 2022-01-01
- HTML5 画布调整为父级 2022-01-01
- CORS:当凭据标志为真时,无法在 Access-Control-Allow-Origin 中使用通配符 2022-01-01
- 带角度的选项卡:仅使用 $http 在单击时加载选项卡 2022-01-01
