代码之家  ›  专栏  ›  技术社区  ›  Lowtrux

IE11:Flex容器内的位置绝对DIV阻止流动

  •  0
  • Lowtrux  · 技术社区  · 6 年前

    我有一个显示:包含图像和div的flex容器,图像具有100%的宽度,div必须在容器中水平和垂直居中(具有flex属性)。为了使图像显示在图像顶部,我使用了位置:绝对。问题是,在IE11上,定位的绝对div一直显示在流之外。

    enter image description here

    这就是它的外观(Chrome): enter image description here

    这是我的HTML:

    <div class="container shop-service">
        <img class="img-container" src="/_ui/responsive/theme-lambda/services/image-services.jpg">
        <div class="shop-service-content">
            <div class="shop-service-img">
            <img alt="ecommerce" src="/_ui/responsive/theme-lambda/services/ecommerce.svg"></div>
            <h2>E-commerce</h2>
            <p class="col-md-12">Poderá fazer os seus pedidos a qualquer hora do dia, 365 días por ano, de forma
            segura, ágil e confidencial.</p> <a class="btn btn-primary" href="/Open-Catalogue/c/1">Comprar agora</a>
        </div>
    </div>
    

    这是我的CSS:

    .shop-service {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding-top: 35px;
        padding-bottom: 35px;
        position: relative;
    }
    
    .shop-service img {
        width: 100%;
        height: auto;
    }
    
    .shop-service .shop-service-content {
        position: absolute;
        width: 100%;
        max-width: 400px;
        padding: 0 15px;
    }
    
    3 回复  |  直到 6 年前
        1
  •  1
  •   Jenifer Jiang    6 年前

    更推荐的方法是使用 转换:translate()

    您可以将Flexbox和transform:translate结合起来,因为后者不会影响前者。

    我已经做了一个样本,也许你可以参考一下。

        <div class="container shop-service">
        <img class="img-container" src="Images/test7.jpg" />
        <div class="shop-service-content">
            <div class="shop-service-img">
                <img alt="ecommerce" src="Images/test6.jpg" />
            </div>
            <h2>E-commerce</h2>
            <p class="col-md-12">
                Poderá fazer os seus pedidos a qualquer hora do dia, 365 días por ano, de forma
                segura, ágil e confidencial.
            </p> <a class="btn btn-primary" href="#">Comprar agora</a>
        </div>
    </div>
    

    CSS。

       .shop-service {
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding-top: 35px;
            padding-bottom: 35px;
            position: relative;
        }
    
            .shop-service .shop-service-content {
                position: absolute;
                width: 100%;
                max-width: 400px;
                padding: 0 15px;
                left: 50%;
                top: 50%;
                transform: translate(-50%,-50%);
            }
    
            .shop-service img {
                width: 100%;
                height: auto;
            }
    

    result

        2
  •  0
  •   Ash Loudon    6 年前

    .shop-service .shop-service-content

        3
  •  0
  •   Samuel Liew cicero lopes    6 年前

    .shop-service

    推荐文章