为了账号安全,请及时绑定邮箱和手机立即绑定

css in js用法?

在定义React组件的样式时,用css in js的写法可以定义当前组件的样式,但是当各个组件之间有布局关系时,怎么用css in js来控制?

正在回答

2 回答

用styled component可以嵌套

import React, { Component } from 'react'
import styled from 'styled-components'

// 顶部导航子组件
const list = [
    {id:0,name:'免费课程',url:'https://www.imooc.com/course/list'},
    {id:1,name:'职业路径',url:'https://class.imooc.com/'},
    {id:2,name:'实战',url:'https://coding.imooc.com/'},
    {id:3,name:'猿问',url:'https://www.imooc.com/wenda'},
    {id:4,name:'手记',url:'https://www.imooc.com/article'}
]

const Nav = ({className}) => (
    <ul className={className}>
        {
            list.map(n=>
                <li key={n.id}>
                    <a href={n.url}>{n.name}</a>
                </li>
            )
        }
    </ul>
)

const StyleNav = styled(Nav)`
    display:flex;
    a {
       padding: 0 20px;
       color: #4D555D;
       font-size: 16px;
       line-height: 72px;
       text-align:center;
       transition: background-color .3s;
    }
    li:nth-of-type(2) a:after {
        content: '';
        position: relative;
        display: inline-block;
        top: -10px;
        width: 16px;
        height: 16px;
        background: url(https://www.imooc.com/static/img/common/new.png) no-repeat;
    }
`

class Head extends Component {
    render() {
        return (
            <Header id='Head'>
                <StyleNav className='topBarNav'/>
            </Header>
        )
    }
}

export default Head
0 回复 有任何疑惑可以回复我~

可以尝试用className写样式

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
React实战--打造画廊应用(上)
  • 参与学习       57309    人
  • 解答问题       273    个

颠覆式前端UI开发框架 React,打造图片画廊实践案讲解

进入课程

css in js用法?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信