【问题标题】:Using styled-components with gatsbyJS在 gatsbyJS 中使用样式化组件
【发布时间】:2018-03-31 16:01:05
【问题描述】:

我正在使用 gatsby-plugin-styled-components 来设置以下元素的样式。

import React from 'react';
import styled from 'styled-components';


const secondChar = styled.span`
  font-size: 3em;
  color: azure;
`

const TitleWrapper = styled.div`
  font-size: 3.5em;
  font-weight: 100;
  letter-spacing: 0.01em;
  font-family: 'Covered By Your Grace', cursive;
`

const Title = () => (
  <TitleWrapper>
    <span>a</span>
    <secondChar>b</secondChar>
    <span>c</span>
    <span>e</span>
    <span>f</span>
    <span>g</span>
    <span>h</span>
  </TitleWrapper>
)

export default Title;

由于某种原因,我无法弄清楚自己,我无法设置 secondChar 组件的样式。颜色和字体大小根本没有变化。 但是,我可以通过 Chrome 开发工具设置 secondChar 的样式。

任何人都可以建议发生了什么? 谢谢。

更新: 解决了上面的第一个问题。组件忘记使用驼峰式了。

现在我正在尝试实现以下 Styled-components: refering to other components

const SecondChar = styled.span`
  display: inline-block;
  transform: translateX(20px);
  transition: transform 500ms ease-in-out;
  ${TitleWrapper}:hover & {
    color: azure;
  }
`

const TitleWrapper = styled.div`
  font-size: 3.5em;
  font-weight: 100;
  letter-spacing: 0.01em;
  font-family: 'Covered By Your Grace', cursive;
`

const Title = () => (
  <TitleWrapper>
    <span>a</span>
    <SecondChar>b</SecondChar>
    <span>c</span>
    <span>d</span>
    <span>e</span>
    <span>f</span>
    <span>g</span>
  </TitleWrapper>
)

但是,将鼠标悬停在 TitleWrapper 上不会对 SecondChar 组件有任何响应。难道我又做错了什么?

【问题讨论】:

    标签: css reactjs server-side-rendering styled-components gatsby


    【解决方案1】:

    所有组件命名都应该以大写字母开头,包括样式组件,所以secondChar应该是SecondChar

    【讨论】:

      猜你喜欢
      • 2019-11-11
      • 1970-01-01
      • 2020-07-10
      • 2019-11-04
      • 2020-09-26
      • 2020-09-22
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      相关资源
      最近更新 更多