css 如何改变React自助法中按钮的颜色?

ergxz8rk  于 2022-12-27  发布在  React
关注(0)|答案(8)|浏览(139)

我知道在react bootstrap中改变颜色是非常困难的,但是我希望我的按钮不是原色,我怎样在JS/SCSS中实现呢?

jjhzyzn0

jjhzyzn01#

const App = () => (
  <div className="content">
    <ReactBootstrap.Button bsStyle="primary">Default Button</ReactBootstrap.Button>
    <ReactBootstrap.Button bsClass="custom-btn">Custom Button</ReactBootstrap.Button>
  </div>
);

ReactDOM.render(
  <App />,
  document.getElementById("react")
);
.content {
  padding: 10px;
}

.custom-btn {
  background: #fff;
  color: red;
  border: 2px solid red;
  border-radius: 3px;
  padding: 5px 10px;
  text-transform: uppercase;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-bootstrap/0.32.1/react-bootstrap.min.js"></script>


<div id="react"></div>

要将特定样式添加到react-bootstrap``<Button />组件,只需使用bsClass属性
取自the official docs

zwghvu4y

zwghvu4y2#

试试这个:
https://react-bootstrap.github.io/getting-started/theming/
具体到按钮,你可以在Button组件中添加variant ='custom '属性,在css文件中,你可以这样定制你的按钮:

.btn-custom {
    ...
}
lfapxunr

lfapxunr3#

在紧要关头,我能够使用内联样式对ReactStrap中的按钮进行一些简单的样式设置。

import React from 'react';
import { Button } from 'reactstrap';

const PageButtons = (props) => {

return (

        <div>
        {!props.data.previous ? null : <Button style={{color:"#00005c", margin: "5%", boxShadow: "5px 5px 3px rgba(46, 46, 46, 0.62)"}} outline onClick={props.handlePrevious}>Previous</Button>}
        {!props.data.next ? null : <Button style={{ color:"#00005c", margin: "5%", boxShadow: "5px 5px 3px rgba(46, 46, 46, 0.62)"}} outline onClick={props.handleNext}>Next</Button>}
        </div>

      );
    }

    export default PageButtons;
mrzz3bfm

mrzz3bfm4#

只要添加CSS在CSS文件或如果你正在使用pcss
以下css

.btn-primary {
    color: #fff;
    background-color: #2E4C80;
    background-color: cutom-color;
    border-color: #2E4C80;
    border-color: cutom-cor;
}

它将自动覆盖默认值

zxlwwiss

zxlwwiss5#

使用!important覆盖:
App.css

.button {
  background-color: #370344 !important;
}

分量

<Button className="button">Submit</Button>
92dk7w1h

92dk7w1h6#

您可以使用react-bootstrap中的“主题化和自定义样式”教程https://react-bootstrap.github.io/getting-started/theming/,我遇到过同样的问题,它很有帮助

rdlzhqv9

rdlzhqv97#

您可以使用react条件属性

<button
  className={
    selectedOffer?._id == offer._id
      ? "btn btn-danger rounded-0 mx-1"
      : "btn btn-outline-danger rounded-0 mx-1 bg-white"
  }
  style={
    selectedOffer?._id == offer._id
      ? { backgroundColor: "#FA0105" }
      : { borderColor: "#FA0105" }
  }
  onClick={() => setSelectedOffer(offer)}
>
  {offer.slug}
</button>
eoxn13cs

eoxn13cs8#

我终于明白了--如果你使用SCSS,这里有一个修改按钮和它包含的文本(我假设它是一个链接)的解决方案。正如上面提到的,在每一行样式中包含'!important'规则是至关重要的。虽然我在网上遇到的几乎所有例子都将自定义按钮类命名为'custom-btn',但实际上你可以随意命名它。
下面的示例创建了一个Bootstrap按钮,该按钮具有自定义的黄色背景色、自定义的边距和边框规格,以及按钮内包含的链接的白色字体颜色。

JSX

<Button className="any-class-name-you-want">
    <a href="your-link">your-text</a>
</Button

SCSS

.any-class-name-you-want {
  background-color: #fcb426 !important;
  margin: 10px 50px !important;
  border: 1px solid #fff !important;

  a {
    color: white !important; 
  }
}

相关问题