CSS实现鼠标移动到购物车显示详情

需求: 鼠标滑动到购物车时,购物车下面显示购物车详情信息
解析:

  1. 清除所有默认样式:
  • {
    margin: 0;
    padding: 0;
    }
    2. CSS3 新增属性: box-sizing: border-box; 这个属性基本盒子都增加该属性;

代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>鼠标划过显示购物车详情</title>
    <style>
        /* 清除所有默认样式 */
        
        * {
            margin: 0;
            padding: 0;
        }
        
        .shoppingcart {
            /* css3 新增属性,控制WIDTH和HEIGHT属性是盒子的最终宽高 */
            box-sizing: border-box;
            border: 1px solid lightcoral;
            height: 30px;
            line-height: 30px;
            text-align: center;
            width: 100px;
            /* 居中展示 */
            margin: 20px auto;
            /* 将子盒子与父盒子右边对齐, 父盒子 relative*/
            position: relative;
            /* 将鼠标设置为小手 */
            cursor: pointer;
        }
        
        .detail {
            /* display : none 表示默认不展示 */
            display: none;
            /* 将子盒子与父盒子右边对齐, 子盒子 absolute,right表示靠右为-1px; top 是和父元素的最上面一条边框线比较*/
            position: absolute;
            right: -1px;
            top: 28px;
            z-index: -1;
            box-sizing: border-box;
            border: 1px solid lightcoral;
            height: 40px;
            line-height: 40px;
            text-align: center;
            width: 400px;
        }
        
        .shoppingcart:hover .detail {
            /* shoppingcart 接受到hover事件后,对detail类的操作 */
            display: block;
        }
        /* 鼠标移动后,shoppingcart的底部线变成白色 */
        
        .shoppingcart:hover {
            border-bottom: 1px solid white;
        }
        /* .shoppingcart:hover .detail::after {
            content: '';
            display: inline-block;
            box-sizing: border-box;
            width: 98px;
            height: 1px;
            position: absolute;
            top: -1px;
            right: 0;
            z-index: 1;
            background-color: #fff;
        } */
    </style>
</head>

<body>
    <!-- 购物车详情需要嵌套在父级购物车里 -->
    <div class="shoppingcart">
        <span>购物车</span>
        <div class="detail">
            <span>购物车详情</span>
        </div>
    </div>
</body>

</html>

z-index 属性失灵的集中情况:
z-index要结合层叠上下文(stacking context)来思考,主要优先级如下:父层叠上下文的背景和边框 < z-index=-1 < 块级元素 < 浮动元素 < 行内、行内块元素 < z-index=0或auto < z-index正数。
形成层叠上下文的条件如下:

  1. html根元素自动形成根层叠上下文
  2. position为相对或绝对,且z-index不是auto
  3. position为固定或粘性
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AsiaFT.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值