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

用js的话很简单,但是做一道题是让用纯css,想不出来,css点击只有a标签的visited伪类,但是visited加不了动画,急... 用js的话很简单,但是做一道题是让用纯css,想不出来,css点击只有a标签的visited伪类,但是visited加不了动画,急 展开
 我来答
404631403
推荐于2017-11-27 · TA获得超过396个赞
知道小有建树答主
回答量:207
采纳率:50%
帮助的人:225万
展开全部
/* 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); }
}
<!-- HTML部分 -->
<div>
<div>下拉 </div>
<ul>
     <li>第一个</li>
     <li>第二个</li>
     <li>第三个</li>
    </ul>
</div>

本例适用于谷歌浏览器和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; }
<!-- HTML部分 -->
<div>
<button>下拉</button>
<ul>
     <li>第一个</li>
     <li>第二个</li>
     <li>第三个</li>
    </ul>
</div>

修改版……

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

姑娘真美人也
2018-05-30
知道答主
回答量:2
采纳率:0%
帮助的人:1862
展开全部
给大家个思路,用input[checkbox]来模拟点击效果 选中会出现checked属性 这个是可以写进css里的 用input:checked来模拟已被点击。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
POPO酥
2015-04-18 · TA获得超过2230个赞
知道小有建树答主
回答量:1552
采纳率:55%
帮助的人:564万
展开全部
这。。。想多了吧,用 input 多选下拉框不行吗?
追问
这是考题啊,我也没得办法
追答
input 下拉框也是纯 CSS 啊,你要做的只是模仿下拉选单的效果而已,:visited 伪类不行的,链接只要点击过就马上是 :visited 的状态而且会一直保持,刷新页面也没用了,那样的话菜单就回不到正常状态了,所以 input 是最好的选择,我以前也见过有人这么干
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式