Pozycja komponentu zmiana koloru tekstu opiera się na tle w React / Gatsby / Styled-komponentów

głosy
0

Hej ludzie, mam nadzieję, że mogę dostać jakąś pomoc.

Mam pozycją komponent, kolor tekstu Biorę od ThemeProvider z hasłem folderu, który mam jest przypisany do niebieskiego ...

const Title = styled.h1`
  font-size: 2.5rem;
  text-transform: uppercase;
  display: block;
  font-weight: 700;
  letter-spacing: 0.1rem;
  margin-bottom: 1rem;
  line-height: 1.15;
  color: ${props => props.theme.colors.main}; <-BLUE COLOR->
`
const SubTitle = styled.h2`
  font-size: 2rem;
  margin: 0;
  color: ${props => props.theme.colors.text};
  font-weight: 400;
`

const Heading = ({ title, subtitle }) => {
  return (
    <HeadingWrapper>
      <Title>{title}</Title>
      <SubTitle>{subtitle}</SubTitle>
    </HeadingWrapper>
  )
}

Ciało ma niebieskie tło.

Mam 3 sekcje

  • Komponent z przypisanymi białym tle
       <Heading
            title=First Section Is OK
            subtitle=Here is white background on the div from that section and blue text from the component
          />
  • Komponent z tło nie przypisano
       <Heading
            title=This section Title is NOT good cause I have the blue text color
            subtitle=Here I don't use background color, I have blue color from the body
          />
  • I to samo Pierwszy składnik z białym tłem przypisane.
       <Heading
            title=Third Section Is OK
            subtitle=Here is white background on the div from that section and blue text from the component
          />

Używam Treść Komponent we wszystkich 3 części, ale na odcinku środkowym nie widzę przyczyny kolor to niebieski tekst i niebieskim tle ...

Jak podejść do tego problemu, aby mieć trochę dynamiczny kolor tekstu opartego na tle ???

dosłownie mam fart mózg i nie mogę coś ... nadzieję, że może mi poprowadzić lub dać mi lepsze podejście.

Utwórz 13/02/2020 o 22:05
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
1

Można spróbować dodać obiekt do określenia stylu.

<Heading title="" subtitle="" textColor="blue" bgColor="green" /> `

Następnie w składniku pozycją:

const Bg = styled.div`
     background-color: {props.BkgColor}
     color: {props.FontColor}
     ...
`


const Heading = ({props}) => {
     render() {
          return (
               <Bg FontColor={ props.textColor } BkgColor={ props.bgColor }>
                    ...
               </Bg>
          )
     }
}
Odpowiedział 13/02/2020 o 22:19
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more