当前位置: 首页 > 知识库问答 >
问题:

使用"Styled-Components"创建css规则

洪景铄
2023-03-14

我正在使用令人敬畏的“样式化组件”

但我现在使用的是另一个包,它将一个元素封装在其中,所以我不能将我的StyledComponents推到那里,因为我不想更改他的包。

我看到《魅力》有一个很好的把戏。StyledComponents支持这一点吗?

import { css } from 'glamor';

let rule = css({
  color: 'red',

})

<div {...rule}>
  zomg
</div>

如果你想知道我为什么需要它,这里有一个例子:这是我正在使用的一个外部包:

External = props => (
    <div>
        <input style={props.inputStyle} className={props.inputClass} />
    </div>
);

所以你可以看到我需要传递一个json风格或类Name

所以魅力在这里会起作用,但我不想只在这个场景中使用它。我已经很喜欢StyledComponent了

谢啦

共有1个答案

蒯胜泫
2023-03-14

如果我理解你的查询,你可以定义一个组件的css规则,像这样

import styled from 'styled-components'

   const Wrapper =  styled.div`
     color: 'red';
     font-weight: bold;
     background-color: ${ props => props.color === 'primary' ? 'green' : 'red' }
   `

   export const Component = () => {
     <Wrapper color='primary'>
       I have a red text, and bold font-weight.
     </Wrapper>
   }
 类似资料:
  • 我的组件是这样的 我看别人给的案例都是写元素的,但我这里有类名

  • 想问下大佬们,这个蓝色背景样式的div用css怎么写出来? 网上搜了很多都是做三角形、菱形啥的。能否不用伪类做出来呢?

  • 我最近开始将样式化组件与React一起使用,我不确定我是否正确地处理了一个不断重复出现的特定情况。 假设我有一个非常简单的组件,比如,它只需要非常多的样式和一些给定的内容。我现在要处理的事情如下: 我发现首先定义基本组件,如,只针对样式,然后再定义另一个组件,它接受道具并使用该样式组件。 有没有更短的方法只在一个组件中完成这两个任务?我希望能有一些像... ...但那似乎不起作用。

  • 问题内容: 如何使用CSS创建圆角? 问题答案: 自从引入CSS3以来,使用CSS添加圆角的最佳方法是使用border-radius属性。您可以阅读有关该属性的规范,或获取有关MDN的一些有用的实现信息: 如果您使用的浏览器未 实现 border-radius(Chrome v4之前的版本,Firefox v4之前的版本,IE8,Opera v10.5之前的版本,Safari v5之前的版本),则

  • 问题内容: 我在我的应用程序中使用样式组件在CodeSandbox中。请参考以下网址 https://lrn6vmq297.sse.codesandbox.io/ 每当我进行一些更改时,控制台都会说。 className 而且UI无法按预期呈现。有人知道我为什么遇到这个问题吗?请查看上面的网址。 谢谢 问题答案: 基本上,您需要通过或生成的解构,然后将其手动应用于要设置样式的组件。否则,您不会将应

  • 我正在尝试让redux-form与TypeScript和Styled-Components一起工作。在下面的代码示例中,为什么它不能与样式化的输入组件一起工作?输入呈现出来,但每个按键都失去了焦点。还需要单击两次来聚焦元素。看起来redux-form试图控制Styled-Components返回的包装元素?redux-form和styled-components都使用HOC高阶组件将道具传递给底层