reactjs 如何在react bootstrap中创建超大按钮,而不仅仅是'size=“lg”'

bnl4lu3b  于 2023-01-04  发布在  React
关注(0)|答案(2)|浏览(166)

我查看docs,只能看到size="lg"较大,但我希望更大,如下图所示:
图片:

我现在使用的是:size="lg"

我可以用react-bootstrap或者css来做这个更大的样式吗?我在周围搜索的时候找不到细节,我对这个也有点陌生。另外,文本输入和按钮如果它们更大的话也应该很酷。
哦,是的,这是我的React组件:

import React from 'react';
import { connect } from 'react-redux';
import { Navbar, Nav, Form, FormControl, Button, NavDropdown, NavItem, Container, Row, Col } from 'react-bootstrap';
import MenuItem from './MenuItem';
import logo1 from '../../assets/The first 100 weeks in pictures and more7.png';

class NavBar extends React.Component {
    constructor() {
        super();
        this.state = { showMenu: false };
        this.handleMenuClick = this.handleMenuClick.bind(this);
    }

    handleMenuClick() {
        const { showMenu } = this.state;
        this.setState({ showMenu: !showMenu });
    }

    render() {
        return (
            <>
                <Navbar bg="dark" variant="dark" fixed="top">
                    <Container fluid>
                        <Col md="auto">
                            <Navbar.Brand href="#home" className="img-container">
                                <img alt="" src={logo1} />
                            </Navbar.Brand>
                        </Col>
                        <Col md="auto">
                            <Nav.Item>
                                <Form inline>
                                    <FormControl type="text" placeholder="Title, event, date" className="mr-sm-2" size="lg" />
                                    <Button variant="outline-info" size="lg">
                                        Search
                                    </Button>
                                </Form>
                            </Nav.Item>
                        </Col>
                        <Col md="auto">
                            <Button variant="primary" size="lg">
                                Articles
                            </Button>{' '}
                            <Button variant="primary" size="lg">
                                Timeline
                            </Button>{' '}
                            <Button variant="primary" size="lg">
                                About
                            </Button>{' '}
                        </Col>
                        <Col md="auto">
                            <Nav.Item>
                                <NavDropdown title="Events" id="basic-nav-dropdown" className="justify-content-left">
                                    <NavDropdown.Item href="#action/3.1">Action</NavDropdown.Item>
                                    <NavDropdown.Item href="#action/3.2">Another action</NavDropdown.Item>
                                    <NavDropdown.Item href="#action/3.3">Something</NavDropdown.Item>
                                    <NavDropdown.Divider />
                                    <NavDropdown.Item href="#action/3.4">Separated link</NavDropdown.Item>
                                </NavDropdown>
                            </Nav.Item>{' '}
                        </Col>
                    </Container>
                </Navbar>
            </>
        );
    }
}

const mapStateToProps = state => {
    return { articles: state.rootReducer.remoteArticles };
};

const Aaa = connect(mapStateToProps, null)(NavBar);
export default Aaa;
piv4azn7

piv4azn71#

是的,你可以通过CSS来实现。通过定义一个与组件匹配的CSS类来创建你自己的自定义大小,如下所示:
参见https://react-bootstrap.github.io/getting-started/theming/
在您的示例中,我将创建一个单独的文件,例如./styles/styles.css,您可以将其导入应用程序或组件的js文件中(通常是前者,这样你就可以在你的应用程序中的任何地方使用它)。最好像这样把它分解出来,而不是像示例中所示的那样内联地定义它,这样你就可以重用它。在那里,你可以定义任何你想要的样式,比如解决你的问题:

.btn-xxl {
  font-size: 1.5rem !important;
}

然后将文件导入到应用程序或组件的js文件中。

import './styles/styles.css'

然后在JSX中使用新标记。

<Button variant="primary" size="xxl">
  Articles
</Button>{' '}

这样你就可以在你的应用程序的其他地方使用xxl的大小,如果你想改变它,你只需要在你的styles.css文件中做就可以了。如果你开始创建很多这样的css,你可以把styles.css分解成单独的文件,然后styles.css导入。

r7s23pms

r7s23pms2#

以下是定制尺寸的文档:https://react-bootstrap.github.io/getting-started/theming/#custom-styles-variants

<style type="text/css">
  {`
    .btn-flat {
      background-color: purple;
      color: white;
    }

    .btn-huge {
      padding: 5rem 10rem;
      font-size: 1.5rem;
    }

    .btn-small {
      padding: 0.2rem 0.2rem;
      font-size: 12px;
    }
  `}
</style>

<Button variant="flat" size="huge">
  Hello World
</Button>
<Button variant="flat" size="small">
  Hello World
</Button>

相关问题