关于商品楼层父元素塌陷的问题

关于商品楼层父元素塌陷的问题

由于商品内容是左浮动的,导致父元素无法根据商品的数量动态修改自身高度
我给父元素添加以下属性可以解决,但是一旦商品内容的总外包设置为绝对定位(为了有tab切换的效果)就无效了
.clear:after{
    content: ' ';
    display: block;
    height: 0;
    line-height: 0;
    clear: both;
}
//以下是商品楼层代码
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
    * {
        margin: 0;
        padding: 0;
    }
    /* 楼层区 */
    .main{
        width: 80%;
        margin:0 auto;
        margin-top: 10px;
        border: 1px solid #000;
    }
    .main .floor{
        width: 100%;
        margin-top: 30px;
        position: relative;
        height: 650px;/* 删 */
    }
    /* 楼层区-标题栏 */
    .main .floor .title{
        width: 100%;
        height: 100px;
    }
    .main .floor .title .left{
        height: 100px;
        line-height: 100px;
        float: left;
    }
    .main .floor .title .left .icon{
        width: 30px;
        height: 30px;
        line-height: 30px;
        text-align: center;
        background:#000;
        border-radius: 50%;
        color: #fff;
        float: left;
        margin:35px 20px 0 20px;
    }
    .main .floor .title .left span{
        font-size: 25px;
        font-weight: bold;
    }
    .main .floor .title .right{
        float: right;
    }
    .main .floor .title .right .btn{
        float: left;
        height: 100px;
        text-align: center;
        position: relative;
    }
    .main .floor .title .right .btn span{
        color: #666;
        margin-top: 35px;
        padding:0 20px;
        display: block;
        cursor: pointer;
    }
    .main .floor .title .right .btn .span-active{
        color: red;
    }
    .main .floor .title .right .btn .middle-btn{
        border-left: 1px solid #666;
        border-right: 1px solid #666;
    }
    .main .floor .title .right .btn img{
        width: 14px;
        height: 8px;
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        margin:0 auto;
        bottom: 0;
    }
    .main .floor .title .right .btn .img-active{
        display: block;
    }
    /* 楼层区-下划线 */
    .main .floor .underline{
        border-top:2px solid red;
        margin-top: -2px;
    }
    /* 楼层区-商品内容区 */
    .main .floor .content{
        width: 100%;
        height: 440px;/* 删 */
        position: absolute;
        left: 0;
        display: none;
    }
    .content-active{
        display: block!important;
    }
    .main .floor .content .wrap{
        width: 16.666%;
        height: 220px;
        margin:30px 0;  
        float: left;
        box-sizing: border-box;
    }
    .main .floor .content .wrap img{
        width: 114px;
        height: 114px;
        margin: 20px auto;
        display: block;
    }
    .main .floor .content .wrap .item-name{
        text-align: center;
    }
    .main .floor .content .wrap .item-price{
        text-align: center;
        color: red;
        margin: 10px 0 20px 0;
    }
    </style>
</head>
<body>
    <div class="main">
        <!-- 1F -->
        <div class="floor">
            <div class="title">
                <div class="left">
                    <div class="icon">1F</div>
                    <span>服装鞋包</span>
                </div>
                <div class="right">
                    <div class="btn">
                        <span class="span-active" data="0">大牌</span>
                        <img class="img-active" src="img\floor-arrow.png">
                    </div>
                    <div class="btn">
                        <span class="middle-btn" data="1">男装</span>
                        <img src="img\floor-arrow.png">
                    </div>
                    <div class="btn">
                        <span data="2">女装</span>
                        <img src="img\floor-arrow.png">
                    </div>
                </div>
            </div>
            <div class="underline"></div>
            <div class="content content-active">
                <div class="wrap">
                    <img src="img\floor\1.png">
                    <div class="item-name">匡威男棒球开衫外套2015</div>
                    <div class="item-price">¥479</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\1.png">
                    <div class="item-name">匡威男棒球开衫外套2015</div>
                    <div class="item-price">¥479</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\1.jpg">
                    <div class="item-name">必迈BMAI一体织跑步短袖T恤</div>
                    <div class="item-price">¥159</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\1.jpg">
                    <div class="item-name">必迈BMAI一体织跑步短袖T恤</div>
                    <div class="item-price">¥159</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\1.png">
                    <div class="item-name">匡威男棒球开衫外套2015</div>
                    <div class="item-price">¥479</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\1.png">
                    <div class="item-name">匡威男棒球开衫外套2015</div>
                    <div class="item-price">¥479</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\2.jpg">
                    <div class="item-name">玫瑰连衣裙</div>
                    <div class="item-price">¥289</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\2.jpg">
                    <div class="item-name">玫瑰连衣裙</div>
                    <div class="item-price">¥289</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\1.png">
                    <div class="item-name">匡威男棒球开衫外套2015</div>
                    <div class="item-price">¥479</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\1.png">
                    <div class="item-name">匡威男棒球开衫外套2015</div>
                    <div class="item-price">¥479</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\3.jpg">
                    <div class="item-name">美特斯邦威牛仔外套</div>
                    <div class="item-price">¥99</div>
                </div>
                <div class="wrap">
                    <img src="img\floor\3.jpg">
                    <div class="item-name">美特斯邦威牛仔外套</div>
                    <div class="item-price">¥99</div>
                </div>
            </div>
            <div class="content">
                <div class="wrap">
                    <img src="img\floor\1.png">
                    <div class="item-name">匡威男棒球开衫外套2015</div>
                    <div class="item-price">¥479</div>
                </div>
            </div>
            <div class="content">
                <div class="wrap">
                    <img src="img\floor\1.png">
                    <div class="item-name">匡威男棒球开衫外套2015</div>
                    <div class="item-price">¥479</div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
qq__9987 2018-03-02 14:05:28

你把内容最外层设置为绝对定位,肯定会导致楼层高度塌陷的。在楼层里面你如果要设置绝对定位的话,肯定不能全部元素都是绝对定位的。

  • 提问者 郭小新 #1
    但是如果要实现TAB切换不是就要把最外层设置为绝对定位吗
    2018-03-04 08:37:28
  • qq__9987 回复 提问者 郭小新 #2
    其实不设置绝对定位也是可以的,每次点击按钮的时候,直接让兄弟元素隐藏就可以。
    2018-03-05 20:54:10
小丸子爱吃菜 2018-02-15 17:13:51

不是很明白你说的问题,可以粘贴你的有问题的代码,上面这个代码测试的效果不是很明白你所讲的问题。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师