首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不封装在火狐和IE11中的Flexbox

不封装在火狐和IE11中的Flexbox
EN

Stack Overflow用户
提问于 2016-01-25 12:50:44
回答 1查看 770关注 0票数 0

我在我的网站上有一个柔性盒网格,它在IE11和Firefox中显示不正确。

代码语言:javascript
复制
.section-home {
  float: left;
}
/*** Flex Grid ***/

.flex-grid {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-direction: row;
  -webkit-flex-direction: row;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}
.flex-grid .flex-item {
  display: flex;
  display: -webkit-flex;
  margin-top: 2rem;
}
代码语言:javascript
复制
<div class="section-home">
  <!-- PRODUCTS -->
  <div class="products-home flex-grid">
    <div class="flex-item">
      <div class="collection-item animated shown">
        <div class="collection-wrap">
          <div class="collection-image">
            <a href="{{ route('cuadrospersonalizados') }}">
              <img class="img-responsive" src="{{ FotImg::asset('img/fotolienzos.jpg') }}?dts={DPL_TS}" alt="Cuadros personalizados" title="Cuadros personalizados">
              <span class="description">
                        <p>Lienzo con tus fotos colocado sobre madera de pino</p>
                    </span>
              <div class="caption">
                <h2>Fotolienzos</h2>
              </div>
            </a>
          </div>
        </div>
      </div>
    </div>
    <div class="flex-item">
      <div class="collection-item animated shown">
        <div class="collection-wrap">
          <div class="collection-image">
            <a href="{{ route('fotolienzosconreloj') }}">

              <img class="img-responsive" alt="Fotolienzos con Reloj" title="Fotolienzos con Reloj" src="{{ FotImg::asset('img/fotolienzos-con-reloj.jpg') }}?dts={DPL_TS}">

              <div class="label-new">
                <span class="new">novedad</span>
              </div>

              <span class="description">
                            <p>Lienzo personalizado con reloj colocado sobre bastidor de madera</p>
                        </span>

              <div class="caption">
                <h2>Fotolienzos con Reloj</h2>
              </div>

            </a>
          </div>
        </div>
      </div>
    </div>

    <div class="flex-item">
      <div class="collection-item animated shown">
        <div class="collection-wrap">
          <div class="collection-image">
            <a href="{{ route('posterspersonalizados') }}">
              <img class="img-responsive" alt="Pósters personalizados" title="Pósters personalizados" src="{{ FotImg::asset('img/posters-personalizados.jpg') }}?dts={DPL_TS}">
              <span class="description">
                        <p>Pósters especialmente pensados para habitaciones juveniles e infantiles</p>
                    </span>
              <div class="caption">
                <h2>Pósters personalizados</h2>
              </div>
            </a>
          </div>
        </div>
      </div>
    </div>
  </div>
  <!-- PRODUCTS -->
</div>

flex在Chrome中正确显示,但在IE和Firefox中,项目保持在一行,不包装。为什么会这样呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-25 14:15:43

您的问题是,.flex-grid (.section-home)周围的容器被设置为float: left;,并且没有width集。这意味着它将被设置为width: auto;,因为它是一个浮动元素,这意味着它的内容将控制它的宽度。在这种情况下,浏览器选择计算宽度的方式似乎有所不同:

  • Chrome将.section-home限制在其父节点的宽度
  • IE让.section-home生长得像它所需要的那样容纳.flex-grid的所有子级

有几种方法可以解决这个问题,但是,最简单的方法是从float: left;中删除它,因为它似乎并不需要。

代码语言:javascript
复制
.section-home {
  /*float: left; Remove this*/
}
/*** Flex Grid ***/

.flex-grid {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-direction: row;
  -webkit-flex-direction: row;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}
.flex-grid .flex-item {
  display: flex;
  display: -webkit-flex;
  margin-top: 2rem;
}
代码语言:javascript
复制
<div class="section-home">
  <!-- PRODUCTS -->
  <div class="products-home flex-grid">
    <div class="flex-item">
      <div class="collection-item animated shown">
        <div class="collection-wrap">
          <div class="collection-image">
            <a href="{{ route('cuadrospersonalizados') }}">
              <img class="img-responsive" src="{{ FotImg::asset('img/fotolienzos.jpg') }}?dts={DPL_TS}" alt="Cuadros personalizados" title="Cuadros personalizados">
              <span class="description">
                        <p>Lienzo con tus fotos colocado sobre madera de pino</p>
                    </span>
              <div class="caption">
                <h2>Fotolienzos</h2>
              </div>
            </a>
          </div>
        </div>
      </div>
    </div>
    <div class="flex-item">
      <div class="collection-item animated shown">
        <div class="collection-wrap">
          <div class="collection-image">
            <a href="{{ route('fotolienzosconreloj') }}">

              <img class="img-responsive" alt="Fotolienzos con Reloj" title="Fotolienzos con Reloj" src="{{ FotImg::asset('img/fotolienzos-con-reloj.jpg') }}?dts={DPL_TS}">

              <div class="label-new">
                <span class="new">novedad</span>
              </div>

              <span class="description">
                            <p>Lienzo personalizado con reloj colocado sobre bastidor de madera</p>
                        </span>

              <div class="caption">
                <h2>Fotolienzos con Reloj</h2>
              </div>

            </a>
          </div>
        </div>
      </div>
    </div>

    <div class="flex-item">
      <div class="collection-item animated shown">
        <div class="collection-wrap">
          <div class="collection-image">
            <a href="{{ route('posterspersonalizados') }}">
              <img class="img-responsive" alt="Pósters personalizados" title="Pósters personalizados" src="{{ FotImg::asset('img/posters-personalizados.jpg') }}?dts={DPL_TS}">
              <span class="description">
                        <p>Pósters especialmente pensados para habitaciones juveniles e infantiles</p>
                    </span>
              <div class="caption">
                <h2>Pósters personalizados</h2>
              </div>
            </a>
          </div>
        </div>
      </div>
    </div>
  </div>
  <!-- PRODUCTS -->
</div>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34993084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档