こういう感じのやつです。特定の要素を右揃えにするのに少し苦労したのでメモっておきます。下の画像だとログインボタンがそれにあたります。
結論から言うとflexGrow: 1
とした要素を挿入するだけです。VueのVuetifyでいうところのv-spacer
コンポーネント的なやつですね。
1 2 3 4 5
| <strong>タイトル</strong> <div style={{ flexGrow: 1 }}></div> <Button variant="contained" color="white"> ログイン </Button>
|
コード全体は以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| import React, { Component } from "react"; import PropTypes from "prop-types"; import { withStyles } from "@material-ui/core/styles"; import AppBar from "@material-ui/core/AppBar"; import Toolbar from "@material-ui/core/Toolbar"; import Button from "@material-ui/core/Button"; import IconButton from "@material-ui/core/IconButton"; import MenuIcon from "@material-ui/icons/Menu";
const styles = theme => ({ root: { flexGrow: 1 }, });
class Header extends Component { render() { const { classes } = this.props; return ( <div className={classes.root}> <AppBar position="relative" color="primary"> <Toolbar> <IconButton className={classes.menuButton} color="inherit" aria-label="Menu" > <MenuIcon /> </IconButton> <strong>タイトル</strong> <div style={{ flexGrow: 1 }}></div> <Button variant="contained" color="white"> ログイン </Button> </Toolbar> </AppBar> </div> ); } }
Header.propTypes = { classes: PropTypes.object.isRequired };
export default withStyles(styles)(Header);
|
Ursprünglicher Autor: kanchi0914
Ursprünglicher Link: https://kanchi0914.netlify.app/2020/03/12/react-spacer/
Copyright-Erklärung: Bitte geben Sie die Quelle des Nachdrucks an.