html点击出现简单下拉框,怎么用纯css实现点击出现下拉框,抽屉效果那种

/* CSS部分 */

ul { list-style:none; margin:0; padding:0; text-align:center; background:#F03; color:#FFF; -webkit-transform:scaleY(0); -webkit-transform-origin:0 0; }

li { padding:0; margin:0; }

div { width:200px; }

div:hover ul { -webkit-animation:ulShow 0.4s; -webkit-animation-fill-mode:forwards; -webkit-animation-timing-function: cubic-bezier(0,0.8,0.9,1); }

div div { height:30px; line-height:30px; text-align:center; background-color:#FC0; }

@-webkit-keyframes ulShow {

from { -webkit-transform:scaleY(0); }

to { -webkit-transform:scaleY(1); }

}

下拉 
  • 第一个
  • 第二个
  • 第三个

本例适用于谷歌浏览器和Safari浏览器,如需兼容Opera须将“-webkit-”更改为”-o-“,火狐改为“-moz-

”,IE系列比较复杂在此不予举例详情请查询W3C。

追问

这个是hover啊,不是模拟click,不过从你的代码里学到了transform的origin用法,还有animation-fill-mode的用法,谢谢你。

我现在有点怀疑题目只是让hover模拟了,click实在想不出来办法,可惜看不到题目了

追答

/* CSS部分 */

ul { list-style:none; margin:0; padding:0; text-align:center; background:#F03; color:#FFF; -webkit-transform:scaleY(0); -webkit-transform-origin:0 0; -webkit-transition:-webkit-transform 0.4s cubic-bezier(0,0.8,0.9,1); }

li { padding:0; margin:0; }

div { width:200px; }

div button:focus~ul { -webkit-transform:scaleY(1); }

div button { width:200px; border:none; height:30px; line-height:30px; text-align:center; background-color:#FC0; }

下拉

  • 第一个
  • 第二个
  • 第三个

修改版……

有个缺点,由于是focus获得焦点,所以当点击LI中的内容时button会失去焦点,导致ul消失,暂时来讲没有想到其他解决方法,太晚了睡觉了。

温馨提示:答案为网友推荐,仅供参考

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值