当前位置:首页 > 前端区域 > 正文内容

胶囊式的CSS移动效果

寒隙4年前 (2021-03-19)前端区域648

一个胶囊式的css打开效果。

用的基本html和css,当页源码为简化的基础版,而且是。

高级版本演示:save.rthe.xyz/404

HTML部分:

<!--cente 选择元素用-->
<div class="center">
  <!--全部内容-->
  <div class="j-h">
   <!--背景,为了观察,后期可删除-->
   <div class="background"></div>
   <!--左胶囊部分-->
   <div class="j-x">
     <!--左胶囊外部圆角部分-->
    <div class="j-x-x"></div>
    <!--左胶囊内部尖突部分-->
    <div class="j-x-t"></div>
   </div>
   <!--右胶囊部分-->
   <div class="j-y">
    <!--右胶囊内部尖突部分-->
    <div class="j-y-t"></div>
    <!--右胶囊外部圆角部分-->
    <div class="j-y-y"></div>
    </div>
   <!--中心方块/圆球部分-->
   <div class="j-h-c">
    <!--胶囊闭合时显示的内容-->
     <span class="case">开始</span>
    <!--胶囊打开后显示的内容-->
    <span class="cu">出来吧!<br>皮卡丘!</span>
   </div>
  </div>
</div>

CSS部分:

/*整体略微居中(不严谨),给胶囊留出打开空间。*/
.j-h {
 position: relative;
 margin: 200px auto;
 margin-left: 50%;
 left: -5%;
}

/*胶囊闭合时方块属性设置*/
.j-h-c {
 width: 60px;
 height: 60px;
 margin: 20px;
 background-color: rgb(255, 217, 0);
 z-index: 5;
 transform: rotate(45deg);
 position: absolute;
}

/*左侧胶囊居左*/
.j-x {
 position: absolute;
 left: -100px;
}

/*设置左胶囊圆角部分的属性*/
.j-x-x {
 width: 100px;
 height: 100px;
 background-color: #f50;
 border-radius: 50% 0% 0% 50%;
 z-index: 10;
 float: left;
}

/*设置左胶囊尖突部分的属性*/
.j-x-t {
 border: 50px solid transparent;
 border-left-color: #f50;
 border-bottom-color: #f50;
 z-index: 10;
 float: left;
}

/*右居中*/
.j-y {
 left: 0;
 position: absolute;
}


/*右圆角部分*/
.j-y-y {
 width: 100px;
 height: 100px;
 background-color: rgb(224, 224, 224);
 border-radius: 0% 50% 50% 0%;
 z-index: 10;
 float: left;
}

/*右尖突部分*/
.j-y-t {
 border: 50px solid transparent;
 border-right-color: rgb(224, 224, 224);
 border-top-color: rgb(224, 224, 224);
 z-index: 10;
 float: left;
}

/*方块-文字部分*/
.case{
 display: block;
 width: 40px;
 height: 40px;
 transform: rotate(-45deg);
 line-height: 60px;
 text-align: center;
 font-weight: bold;
 color: #000000;
}

/*方块-隐藏文字部分*/
.cu {
 transform: rotate(-45deg);
 display: none;
 line-height: 25px;
 margin: 10px 0 0 10px;
}

/*没啥用。。。*/
.center {
 margin-top: 20px;
 margin-left: 20px;
}

/*胶囊打开-方块变圆球*/
.center:hover .j-h-c {
 width: 100px;
 height: 100px;
 margin: 0;
 border-radius: 50%;
 background-color: blueviolet;
 transition: 0.4s;
 transform: rotate(405deg);
}

/*圆球显示*/
.center:hover .cu {
 display: block;
 color: white;
 transition: 0.4s;
}

/*方块隐藏*/*/
.center:hover .case {
 display: none;
}

/*左胶囊打开*/
.center:hover .j-x {
 left: -300px;
 transition: 0.4s;
}

/*右胶囊打开*/
.center:hover .j-y {
 left: 200px;
 transition: 0.4s;
}

/*背景变大*/
.center:hover .background {
 width: 700px;
 left: -300px;
}

/*背景部分属性设置*/
.background{
 width: 300px;
 height: 100px;
 position: absolute;
 left: -100px;
 background: #146634;
}

请注意修改。

扫描二维码推送至手机访问。

版权声明:本文由寒日朝阳-精神小窝发布,如需转载请注明出处。

本文链接:http://www.gofortime.com/post/8.html

分享给朋友:

相关文章

用一个DIV画吃豆人

用一个DIV画吃豆人

方法:运用边框、圆角做出3/4的脸,剩下的1/4⚪为透明色嘴巴,接着使用before做出眼睛,再加定位即可。更多:运用边框和透明度,将3/4的内容透明,可以得到三角形。吃豆人 HTML部分<div></...

JS中的Date对象,网站运行计时器的制作

JS中的Date对象,网站运行计时器的制作

Date,在JS中用于处理日期和时间。通过它可以做出计时器、倒计时以及各种与时间有关的触发行为。参考内容:渡一JavaScript体验课程;W3School-JavaScript Date 对象;经常使用的命令有:Dat...

准备做个壁纸站,然后似乎有点难办

准备做个壁纸站,然后似乎有点难办

idea前阵子突发奇想,想做个网站聚合的游戏官方壁纸站。毕竟现在的游戏很多都有“官方图集”这么一个栏目放在官网上,但是一个一个搜又太麻烦了。于是说干就干,先找个好看的模板,Halo挺好看的,就买服务器,看教程,安装模板,...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。