纯CSS3实现汉堡(三横杠)菜单点击变为叉(X)关闭图标

您所在的位置:网站首页 html5汉堡菜单 纯CSS3实现汉堡(三横杠)菜单点击变为叉(X)关闭图标

纯CSS3实现汉堡(三横杠)菜单点击变为叉(X)关闭图标

2024-05-18 20:06:17| 来源: 网络整理| 查看: 265

关于汉堡(三横杠)菜单,前面曾介绍过两款,它们各有千秋,样式不同,转换过渡动画也不同,请参阅文章:

纯CSS3实现的汉堡(三条横杠)菜单,点击变叉 纯CSS+svg实现三条横线点击变叉菜单按钮动画

今天我继续介绍一款漂亮的,纯CSS3实现的,汉堡(三横杠)菜单,点击变为叉(X)关闭图标。

效果图

 纯CSS3实现汉堡(三横杠)菜单点击变为叉(X)关闭图标

demodownload

示例介绍

我们今天讨论一下基于HTML、CSS3转换成关闭图标的汉堡菜单设计。它是一个汉堡菜单按钮,但是,它具有汉堡菜单按钮所需的广泛亮点。吸睛的红色底色,巨大的菜单图标,精彩的动画推进。

当你将鼠标悬停在菜单图标上时,并没有非常显着的悬停效果。单击它后,就开始变得有趣起来。按钮上有 3 条水平线,就像其他一些汉堡包按钮一样。单击时,所有三个按钮合并为一个水平按钮。然后变成十字标志。你也可以点击它来折叠“X”图标。

HTML

  

HTML代码结构很简单,外面是一个div标签,其class属性值为menu-wrapper。这是菜单的容器。

内层也是一个div标签,其class属性值为hamburger-menu,它还有一个onclick属性,值为this.classList.toggle('animate'),这是菜单按钮的点击事件。

CSS

.menu-wrapper {  position: absolute;  top: 0;  left: 0;  right: 0;  bottom: 0;  margin: auto;  width: 100px;  height: 60px;  cursor: pointer;}.hamburger-menu,.hamburger-menu:after,.hamburger-menu:before {  width: 100px;  height: 10px;}.hamburger-menu {  position: relative;  transform: translateY(25px);  background: white;  transition: all 0ms 300ms;}.hamburger-menu.animate {  background: rgba(255, 255, 255, 0);}.hamburger-menu:before {  content: "";  position: absolute;  left: 0;  bottom: 25px;  background: white;  transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);}.hamburger-menu:after {  content: "";  position: absolute;  left: 0;  top: 25px;  background: white;  transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);}.hamburger-menu.animate:after {  top: 0;  transform: rotate(45deg);  transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);}.hamburger-menu.animate:before {  bottom: 0;  transform: rotate(-45deg);  transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);}

.hamburger-menu 是横线的样式。在汉堡菜单的布局上这是第二条横杠。

.hamburger-menu:before 伪类元素定义第一条横杠。

.hamburger-menu:after 伪类元素定义第三条横杠。

三横杠和叉图标的转换,用到CSS3的 transition 和 transform 属性,请参阅文章了解更多这两个属性的使用。

CSS3 transition 和 transform 属性介绍

JavaScript

该示例中,JavaScript 或 jQuery 不是必须的,不过你同样可以用 JavaScript 或 jQuery 来实现鼠标点击事件。完整代码如下:

        /* jquery 方法 */(function () {  $('.menu-wrapper').on('click', function () {    $('.hamburger-menu').toggleClass('animate');  });})();/* javascript 方法1 *///document.querySelector('.hamburger-menu').onclick = function (){document.querySelector('.hamburger-menu').classList.toggle("animate");}/* javascript 方法2 *//*const icon = document.querySelector('.hamburger-menu');icon.addEventListener('click', (event) =>{    icon.classList.toggle("animate");});*//* javascript 方法3 *//*const icons = document.querySelectorAll('.hamburger-menu');icons.forEach(icon =>{  icon.addEventListener('click', (event) =>  {    icon.classList.toggle("animate");  });});*/

我们看到,HTML代码里的DIV标签,不再有onclick属性。点击事件交给了JavaScript/jQuery来完成。

上述代码提供了一种 jQuery 的写法,以及三种 JavaScript 的写法。当你想用 jQuery 来实现时,请不要忘了先引用 jQuery 的库文件。

总结

本文介绍了一款纯CSS3实现汉堡(三横杠)菜单点击变为叉(X)关闭图标,喜欢的朋友可以收藏本页,也可以直接下载源码备用。

您可能对以下文章也感兴趣

3款纯CSS3实现汉堡(三横杠)菜单点击变叉动画 纯CSS3实现的汉堡(三条横杠)菜单,点击变叉 纯CSS+svg实现三条横线点击变叉菜单按钮动画

相关文章

jQuery黑色左侧边导航菜单(可折叠可缩进滑出) layui框架实现的可折叠侧栏导航菜单(适合信息管理系统) 非常受欢迎好看的CSS3水平导航菜单(含二级菜单) 一款简易的CSS3侧栏滑动导航菜单 很漂亮的 Bootstrap 3 侧栏滑动导航菜单【演示/源码下载】 一款漂亮的CSS3蓝色垂直导航菜单 二级菜单水平方向排列的CSS3响应式水平导航菜单 含二级下拉菜单的CSS3响应式水平导航菜单 CSS3 PC/移动响应式网页水平导航菜单 CSS3折叠下拉菜单(深色背景)【演示/源码下载】


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭