react 组件中的样式(css)

内联样式

  • 值 是对象 (将style属性映射成对象)
<div style={{width:200+300,height:1==1?200:300,backgroundColor:'red'}}></div>

引入外部样式

  • import ‘./style.css’
    import ‘./style.scss’

css in js

  • styled-components
// 安装
npm i styled-components -S

import styled, {keyframes} from 'styled-components'
// 定义一个 logo组件
// 渲染成一个组件 标签h1 样式 是 引号中的样式
const Logo = styled.h1`
  width: 300px;
  height: 400px;
  color:red;
  border: 1px solid #333;
`
// 嵌套
const Container = styled.div`
  width: 300px;
  height: 300px;
  border:1px solid red;
  p {
    color:red;
  }
  span {
    color: blue;
  }
`

// 继承
const QfBtn1 = styled.button`
  padding: 20px;
  border: 1px solid #123987;
  border-radius: 5px;
`
const QfBtn2 = styled(QfBtn1)`
  background: tomato;
`

// props传参
const Box = styled.h1`
  width: 300px;
  height: 400px;
  border: 1px solid #333;
  background: ${props => props.bgc?props.bgc:'red'}
`
// 定义关键帧
const ani = keyframes`
  0%{
    transform: rotate(-45deg);
  }
  100% {
    transform: rotate(45deg);
  }
`
// 动画
const Move = styled.div`
  width: 8px;
  height: 100px;
  background: red;
  transform-origin:center bottom;
  margin: 50px auto;
  animation: ${ani} 100ms linear infinite alternate;
`

export {
  Logo,
  Container,
  QfBtn1,
  QfBtn2,
  Box,
  Move
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值