css隐藏元素 触发点击事件,纯CSS实现点击事件展现隐藏div菜单列表/元素切换

在写移动端导航的时候经常用到点击按钮出现/隐藏导航条的情况,最常见的方法当然还是前端框架直接调用,省心省力,不易出错;当然还有使用纯js实现的小代码段。我这里整理了纯css实现方式,给需要的人和给自己做个笔记:

实现原理利用css伪类:target

1

2

3

4

5

纯css实现点击事件展现隐藏div菜单列表

6

7 /*样式预设,可根据自身情况设定增删*/

8 .l-btn{

9 position: relative;

10 width: 1.875rem;

11 height: 1.875rem;

12 }

13 .l-btn>a:first-child,.l-btn>a:first-child+a{

14 width: 1.875rem;

15 height: 1.875rem;

16 line-height: 1.875rem;

17 text-align: center;

18 cursor: pointer;

19 text-decoration: none;

20 }

21 .l-btn>a:first-child+a+*{

22 position: absolute;

23 width: 20rem;

24 display: none;/*这个样式可以设置透明度、高度等进行变换,配合css3过渡,达到更美观的效果,这里仅做功能*/

25 }

26

27 /*单独*/

28 .l-btn>a:first-child{

29 display: block;

30 }

31 .l-btn>a:first-child+a{

32 display: none;

33 }

34 /*-----为了方便理解,这里单独拿出来写,实际应用时可进行css分组合并----*/

35 .l-btn>a:first-child:target{

36 display: none;

37 }

38 .l-btn>a:first-child:target+a{

39 display: block;

40 }

41 .l-btn>a:first-child:target+a+*{

42 display: block;/*这里需要与上面设置的属性匹配*/

43 }

44

45

46

47

48

49

50 x

51

我是菜单列表

52

53

54

可以配合css3过渡做出很多不同的效果,具体不做详细演示

效果没有js那么完美,毕竟地址栏会出现你的锚点信息,当然这是比较小的瑕疵,好处应该是轻量吧。。

另外使用:first-child(css2)作为选择器仅为了兼容更低版本的ie

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值