JSS - 如何设置嵌套子项的样式?

JSS - How to style a nested child?

我有一个列表,想为父项的列表项的嵌套元素设置样式。我如何访问嵌套元素?下面的代码不起作用。

反应 js 标记

<ul classname={classes.list}>
   <li>
     <span className={classes.box}> my box </span>
   </li>
   <li>
     <span className={classes.box}>second box </span>
   </li>
</ul>

JSS

const styles = () => ({
  box: {
    background: 'red',
  },
  list: {
    listStyle: "none",

    "li": {
      "&:first-child": {
        "& $box": {
          color: 'red',
          border: 'solid',
         }
      }
    }
  },

希望对您有所帮助:

JSS

list: {
    listStyle: "none",  
    '& li:first-child $box': {
      background: 'blue'
    }
  }

你有一点打字错误。应该是 "className" 大写 "N".

问候

您的状态略有变化defining your styles object,可以获取您的代码运行。对于嵌套元素,您需要 separate & and classname or dom item by space

工作风格对象:

const styles = () => ({
  box: {
    background: 'red',
  },
  list: {
    listStyle: "none",
    '& li': {
      '&:first-child': {
        '& $box': {
          border: 'solid',
        }
      }

    }
  }
})

working demo