引导网格项无法正确呈现

时间:2016-10-03 03:05:56

标签: javascript twitter-bootstrap reactjs react-bootstrap

我使用react-bootstrap进行resposinve网格布局,使用material-ui进行组件。我想每行显示3个项目,我的第一行按预期工作,但下一行表现异常。为什么会这样?这是我的代码

const Content = ({restaurant}) => {
  const restaura = _.map(restaurant, (restaurant) => {
    return(
      <Col xs={12} sm={12} md={4}>
        <div className="card">
            <div className="card-image waves-effect waves-block waves-light">
            <Link to={"restaurant/" + restaurant.slug}>  {restaurant.image ?
                              <img src={restaurant.image} alt={restaurant.name} className="activator responsive-img"/>
                              :<img className="activator" src="" />}
            </Link>
            </div>
            <div className="card-content">
            <Link to={"restaurant/" + restaurant.slug}><span className="card-title activator grey-text text-darken-4">{restaurant.name}</span></Link>
            </div>
        </div>
      </Col>
    );
  });
  return(
    <div className="container-fluid">
      <div className="row">
        <h3 className="flow-text">Collections</h3>
      </div>
        <div>
          <Grid>
            <Row className="restaura show-grid">
              {restaura}
            </Row>
          </Grid>
        </div>
      </div>
  );
}

目前它看起来像附加图像

enter image description here

2 个答案:

答案 0 :(得分:1)

这是因为购买的图像不是完全相同的尺寸。图像的高度变化导致它们不能在行内清除。

注意,在检查器中,如果给它们所有相同的尺寸,它将自动对齐。

你需要让col-XX-XX使用像flexbox这样的东西来等于列高,或者让图像解析成相同的大小。

答案 1 :(得分:1)

我建议您使用内置 .clearfix 类的引导程序,以便在所有浏览器中获得更好的支持。在每隔三个块之后放置以下div块:

<div class="clearfix visible-md-block"></div> 

这是使用Bootstrap列包装功能创建布局时出现的常见问题。查看本文以更好地理解它 - http://www.tutorialrepublic.com/twitter-bootstrap-tutorial/bootstrap-grid-system.php