react-bootstrap 网格中的等宽和等高单元格
Equal width and height cell in react-bootstrap Grid
我试图让 react-bootstrap
网格中的 div
个单元格自动等宽和等高。这些单元格的内容大小会变化,整个网格的宽度也会变化。目标是使其响应并独立于单元格内容的大小。
此外,我正在考虑为 React 使用像 FlexBox 布局这样的现代东西来实现这一点(如果它存在的话)。我以前用过 FlexBox,我知道它可能是实现这种布局的最佳选择。
import { Grid, Row, Col } from 'react-bootstrap';
...
<Grid fluid={true}>
<Row className="show-grid" style={{border: "1px solid brown"}}>
{dummyData.map(function(object, i){
return <Col key={i} sm={6} md={3} style={{border: "1px solid yellow"}}>
<div style={{width:"100%", height:"100%, border: "1px solid blue", backgroundImage:"url("+dummyData[i].url+")"}}>{dummyData[i].city}</div>
</Col>;
})}
</Row>
</Grid>
解决方案是使用 React 组件,将高度设置为作为道具传递的宽度。
import React from 'react';
import Dimensions from 'react-dimensions';
class Square extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div
style={{
width:this.props.containerWidth,
}}>
{this.props.city}
</div>
);
}
}
export default Dimensions()(Square) // Enhanced component
网格的相应变化:
<Grid fluid={true}>
<Row className="show-grid" style={{border: "1px solid brown"}}>
{dummyData.map(function(object, i){
return <Col key={i} sm={6} md={3} style={{border: "1px solid yellow"}}>
<Square image={dummyData[i].url} title={dummyData[i].city} value={dummyData[i].value}></Square>
</Col>;
})}
</Row>
</Grid>
我试图让 react-bootstrap
网格中的 div
个单元格自动等宽和等高。这些单元格的内容大小会变化,整个网格的宽度也会变化。目标是使其响应并独立于单元格内容的大小。
此外,我正在考虑为 React 使用像 FlexBox 布局这样的现代东西来实现这一点(如果它存在的话)。我以前用过 FlexBox,我知道它可能是实现这种布局的最佳选择。
import { Grid, Row, Col } from 'react-bootstrap';
...
<Grid fluid={true}>
<Row className="show-grid" style={{border: "1px solid brown"}}>
{dummyData.map(function(object, i){
return <Col key={i} sm={6} md={3} style={{border: "1px solid yellow"}}>
<div style={{width:"100%", height:"100%, border: "1px solid blue", backgroundImage:"url("+dummyData[i].url+")"}}>{dummyData[i].city}</div>
</Col>;
})}
</Row>
</Grid>
解决方案是使用 React 组件,将高度设置为作为道具传递的宽度。
import React from 'react';
import Dimensions from 'react-dimensions';
class Square extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div
style={{
width:this.props.containerWidth,
}}>
{this.props.city}
</div>
);
}
}
export default Dimensions()(Square) // Enhanced component
网格的相应变化:
<Grid fluid={true}>
<Row className="show-grid" style={{border: "1px solid brown"}}>
{dummyData.map(function(object, i){
return <Col key={i} sm={6} md={3} style={{border: "1px solid yellow"}}>
<Square image={dummyData[i].url} title={dummyData[i].city} value={dummyData[i].value}></Square>
</Col>;
})}
</Row>
</Grid>