CSS——下拉框的制作(以小米商城为例)

文章目录

  • 前言
  • 一、下载app下拉框实现
  • 二、购物车下拉框实现
  • 三、display:none ;  和  visibility:hidden;的区别
  • 总结


前言

       本文主要介绍了下拉框的实现过程(以小米商城为例),以及display:none和visibiliy:hidden的区别。


一、下载app下拉框实现

解决思路:

1、可以将下拉框设为下载app的一个子元素并将下拉框的位置,样式设置完备。

2、将准备好的下拉框起初设置为不可见。

3、当鼠标悬停在  下载app  这个父元素时下拉框才可呈现。

HTML结构

<!-- li————下载app -->
                    <li class="code-upbox">
                        <a href="#">下载app</a>
                        <!-- 二维码上方三角形 -->
                        <div class="triangle">
                        </div>
                        <!-- 二维码方形快-->
                        <div class="two-code">
                            <img src="./image/小米二维码.png" alt="">
                            <span>小米商城APP</span>
                        </div>
                    </li>

CSS样式

 /* 下载app 二维码下拉框设置 */

 .two-code {

     visibility: hidden;

     height: 0px;

     width: 124px;

     font-size: 14px;

     box-shadow: 0 1px 5px #aaa;

     color: #333;

     position: absolute;

     top: 40px;

     left: 50%;

     background: #fff;

     text-align: center;

     line-height: 1;

     z-index: 99;

     transition: height .3s linear;

 }

 /* 给二维码下拉框添加动画效果 */

 .code-upbox:hover .two-code {

     height: 148px;

 }

 .code-upbox:hover .two-code>img {

     height: 90px;

 }

 /* 上方小三角形 */

 .triangle {

     visibility: hidden;

     position: absolute;

     top: 26px;

     width: 0;

     height: 0;

     margin-left: 15px;

     border: 7px solid white;

     border-top-color: transparent;

     border-left-color: transparent;

     border-right-color: transparent;

 }

 /* 设置二维码下拉框的样式 */

 .two-code>img {

     width: 90px;

     height: 0px;

     margin: 18px 17px 10px 17px;

     transition: height .2s;

 }

 /* 使二维码下拉框hover时显示出来*/

 .code-upbox:hover .two-code {

     visibility: visible;

 }

 .code-upbox:hover .triangle {

     visibility: visible;

 }

二、购物车下拉框实现

 解决思路在上文已经介绍,这里不再赘述。

HTML结构

<!-- li————购物车区域 -->

                        <li class="shopping-car">

                            <div class="car-upbox">

                                <i class="iconfont">&#xe600;</i>

                                <a href="#">购物车(0)</a>

                            </div>

                            <div class="car-downbox"><span>购物车中还没有商品,赶紧选购吧!</span></div>

                        </li>

CSS样式

/* 导航购物车的样式 */

 .shopping-car {

     background-color: #424242;

     width: 120px;

     height: 40px;

     margin-left: 15px;

 }

 /* 购物车下拉框的上方盒子样式 */

 .car-upbox {

     position: relative;

     padding-left: 20px;

     z-index: 1000;

 }

 /* 购物车下拉框的样式 */

 .car-downbox {

     visibility: hidden;

     position: relative;

     width: 316px;

     height: 0px;

     background-color: #fff;

     right: 196px;

     box-shadow: 0 2px 10px rgb(0 0 0 / 15%);

     z-index: 40;

     transition: height .3s;

 }

 /* 给购物车下拉框添加动画效果 */

 .shopping-car:hover .car-downbox {

     height: 98px;

 }

 /* 下拉框中文字的样式设置 */

 .car-downbox span {

     color: #424242;

     line-height: 100px;

     text-align: center;

     margin-left: 70px;

 }

 /* 购物车的hover效果 */

 .shopping-car:hover .car-upbox,

 .shopping-car:hover .car-downbox {

     background-color: #ffffff;

     visibility: visible;

 }

 /* 使购物车区域hover时变色 */

 .shopping-car:hover .car-upbox i,

 .shopping-car:hover .car-upbox a {

     color: #FF6714;

 }


三、display:none 和visibility:hidden的区别

display:none;——隐藏,并且不占位 ,宽高各种属性值,都‘丢失’。
visibility:hidden;——隐藏,占位,仅是视觉上‘看不见’
width:0;height:0;overflow:hidden;这只是通过设置元素的大小使元素不显示

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值