我知道在react bootstrap中改变颜色是非常困难的,但是我希望我的按钮不是原色,我怎样在JS/SCSS中实现呢?
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
react-bootstrap``<Button />
bsClass
zwghvu4y2#
试试这个:https://react-bootstrap.github.io/getting-started/theming/具体到按钮,你可以在Button组件中添加variant ='custom '属性,在css文件中,你可以这样定制你的按钮:
.btn-custom { ... }
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;
mrzz3bfm4#
只要添加CSS在CSS文件或如果你正在使用pcss以下css
.btn-primary { color: #fff; background-color: #2E4C80; background-color: cutom-color; border-color: #2E4C80; border-color: cutom-cor; }
它将自动覆盖默认值
zxlwwiss5#
使用!important覆盖:App.css
!important
.button { background-color: #370344 !important; }
分量
<Button className="button">Submit</Button>
92dk7w1h6#
您可以使用react-bootstrap中的“主题化和自定义样式”教程https://react-bootstrap.github.io/getting-started/theming/,我遇到过同样的问题,它很有帮助
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>
eoxn13cs8#
我终于明白了--如果你使用SCSS,这里有一个修改按钮和它包含的文本(我假设它是一个链接)的解决方案。正如上面提到的,在每一行样式中包含'!important'规则是至关重要的。虽然我在网上遇到的几乎所有例子都将自定义按钮类命名为'custom-btn',但实际上你可以随意命名它。下面的示例创建了一个Bootstrap按钮,该按钮具有自定义的黄色背景色、自定义的边距和边框规格,以及按钮内包含的链接的白色字体颜色。
'!important'
'custom-btn'
<Button className="any-class-name-you-want"> <a href="your-link">your-text</a> </Button
.any-class-name-you-want { background-color: #fcb426 !important; margin: 10px 50px !important; border: 1px solid #fff !important; a { color: white !important; } }
8条答案
按热度按时间jjhzyzn01#
要将特定样式添加到
react-bootstrap``<Button />
组件,只需使用bsClass
属性取自the official docs
zwghvu4y2#
试试这个:
https://react-bootstrap.github.io/getting-started/theming/
具体到按钮,你可以在Button组件中添加variant ='custom '属性,在css文件中,你可以这样定制你的按钮:
lfapxunr3#
在紧要关头,我能够使用内联样式对ReactStrap中的按钮进行一些简单的样式设置。
mrzz3bfm4#
只要添加CSS在CSS文件或如果你正在使用pcss
以下css
它将自动覆盖默认值
zxlwwiss5#
使用
!important
覆盖:App.css
分量
92dk7w1h6#
您可以使用react-bootstrap中的“主题化和自定义样式”教程https://react-bootstrap.github.io/getting-started/theming/,我遇到过同样的问题,它很有帮助
rdlzhqv97#
您可以使用react条件属性
eoxn13cs8#
我终于明白了--如果你使用SCSS,这里有一个修改按钮和它包含的文本(我假设它是一个链接)的解决方案。正如上面提到的,在每一行样式中包含
'!important'
规则是至关重要的。虽然我在网上遇到的几乎所有例子都将自定义按钮类命名为'custom-btn'
,但实际上你可以随意命名它。下面的示例创建了一个Bootstrap按钮,该按钮具有自定义的黄色背景色、自定义的边距和边框规格,以及按钮内包含的链接的白色字体颜色。
JSX
SCSS