广告位联系
返回顶部
分享到

使用CSS实现有趣的汉堡菜单按钮的代码

css 来源:互联网 作者:佚名 发布时间:2024-02-29 22:08:01 人浏览
摘要

使用transition过渡属性和transform变形属性,让汉堡图标和关闭图标之间进行过渡、变形,形成视觉效果。 适用于h5页面或者app页面中,隐藏菜单和打开菜单时使用。 核心代码部分,简要说明了写

使用 transition 过渡属性和 transform 变形属性,让汉堡图标和关闭图标之间进行过渡、变形,形成视觉效果。

适用于h5页面或者app页面中,隐藏菜单和打开菜单时使用。

核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。

核心代码

html 代码

1

2

3

4

5

6

<label class="label16">

  <input class="inp16" type="checkbox">

  <span class="line16"></span>

  <span class="line16"></span>

  <span class="line16"></span>

</label>

label 标签包裹 input 标签,input 设置为多选按钮,三个 span 标签形成汉堡图标。

css 部分代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

.label16{

  width: 48px;

  height: 36px;

  display: block;

  position: relative;

  cursor: pointer;

}

.inp16{

  display: none;

}

.line16{

  width: inherit;

  height: 4px;

  border-radius: 2px;

  display: block;

  background-color: #3d3d3d;

  position: absolute;

  top: 0;

  transition: all 0.24s ease-in-out;

}

.line16:nth-of-type(2){

  top: 16px;

}

.line16:nth-of-type(3){

  top: 32px;

}

.inp16:checked ~ .line16:nth-of-type(1){

  transform: rotate(45deg);

  top: 16px;

}

.inp16:checked ~ .line16:nth-of-type(2){

  width: 0;

}

.inp16:checked ~ .line16:nth-of-type(3){

  transform: rotate(-45deg);

  top: 16px;

}

隐藏 input 多选按钮,设置 transition 过渡效果,当 input 多选按钮选中时,三个 span 标签设置变形效果,汉堡图标变形过渡到关闭图标。

完整代码如下

html 页面

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<!DOCTYPE html>

<html lang="zh">

  <head>

    <meta charset="utf-8">

    <link rel="stylesheet" href="style.css">

    <title>汉堡菜单按钮</title>

  </head>

  <body>

    <div class="app">

      <label class="label16">

        <input class="inp16" type="checkbox">

        <span class="line16"></span>

        <span class="line16"></span>

        <span class="line16"></span>

      </label>

    </div>

  </body>

</html>

css 样式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

/** style.css **/

.app{

  width: 100%;

  height: 100vh;

  background-color: #ffffff;

  position: relative;

  display: flex;

  justify-content: center;

  align-items: center;

}

.label16{

  width: 48px;

  height: 36px;

  display: block;

  position: relative;

  cursor: pointer;

}

.inp16{

  display: none;

}

.line16{

  width: inherit;

  height: 4px;

  border-radius: 2px;

  display: block;

  background-color: #3d3d3d;

  position: absolute;

  top: 0;

  transition: all 0.24s ease-in-out;

}

.line16:nth-of-type(2){

  top: 16px;

}

.line16:nth-of-type(3){

  top: 32px;

}

.inp16:checked ~ .line16:nth-of-type(1){

  transform: rotate(45deg);

  top: 16px;

}

.inp16:checked ~ .line16:nth-of-type(2){

  width: 0;

}

.inp16:checked ~ .line16:nth-of-type(3){

  transform: rotate(-45deg);

  top: 16px;

}

页面渲染效果


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 使用CSS实现简单的翻页效果的代码

    使用CSS实现简单的翻页效果的代码
    我们先来看一下翻页的过程动图,如下: 观察动图,大致将此翻页过程分为三个状态,书页未翻开、书页翻动中、书页翻动完成,对应的是
  • 使用CSS实现有趣的汉堡菜单按钮的代码

    使用CSS实现有趣的汉堡菜单按钮的代码
    使用transition过渡属性和transform变形属性,让汉堡图标和关闭图标之间进行过渡、变形,形成视觉效果。 适用于h5页面或者app页面中,隐藏菜
  • CSS实现菜单箭头动画效果

    CSS实现菜单箭头动画效果
    其实是很简单的一个效果 思路:箭头图标相对li标签绝对定位,定位到列表之外+列表元素overflow:hidden +悬停动画 html 1 2 3 li class=listyle1 im
  • CSS实现剪切蒙版视差滚动效果

    CSS实现剪切蒙版视差滚动效果
    大家应该都知道响应式吧,像什么响应式布局等等,这都是我们在开发中经常能遇到的。在年前结束的一个公司项目中,涉及到了相关响应
  • CSS实现好看的聚光灯效果介绍

    CSS实现好看的聚光灯效果介绍
    使用-webkit-background-clip和clip-path,并配合animation属性,实现一个好看聚光灯效果。 可适用于页面加载或展示页面大标题内容。 核心代码部分
  • CSS合并单元格四种方式示例介绍(table/display/flex

    CSS合并单元格四种方式示例介绍(table/display/flex
    效果图: 方式一:table【最简单写法】 colspan:规定单元格可横跨的列数。 rowspan:规定单元格可横跨的行数。 通过table的colspan和rowspan轻松
  • css中position:sticky粘性定位介绍

    css中position:sticky粘性定位介绍
    1、什么是粘性定位? 粘性定位它基于用户的滚动位置来定位。 粘性定位的元素是依赖于用户的滚动,在position:relative与position:fixed定位之间
  • 使用CSS完成视差滚动效果介绍
    在网页设计中,视差滚动效果可以为用户带来沉浸式的浏览体验。本文将详细介绍如何使用 CSS 来实现视差滚动效果。 视差滚动效果的原理
  • 使用CSS实现多行文本擦除效果的介绍

    使用CSS实现多行文本擦除效果的介绍
    今天来实现一个多行文本擦除的效果,有种经典咏流传节目中表演开始前阅读诗句的一些既视感,在工作中其实也遇到过这样的需求当时是
  • CSS中Position:Sticky不起作用的问题解决
    sticky属性不生效: 检查浏览器兼容性; 检查是否指定了阈值; 检查 Safari 的供应商前缀; 检查祖先元素是否具有overflow属性集; 检查heig
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计