📜  css使用border topborder bottom创建汉堡图标 - CSS(1)

📅  最后修改于: 2023-12-03 15:30:12.840000             🧑  作者: Mango

使用 CSS border-top 和 border-bottom 创建汉堡图标

在网页设计中,汉堡图标(Hamburger icon)是一个非常常见的图标,通常用于开关菜单或展开折叠内容。本文将介绍如何使用 CSS 的 border-top 和 border-bottom 属性来创建一个简单的汉堡图标。

HTML 结构

要创建汉堡图标,我们首先需要一个 HTML 结构来放置它。以下是一个简单的 HTML 结构,它包含一个按钮元素和一个图标组件元素:

<button class="hamburger">
  <span class="icon"></span>
</button>

其中,按钮元素会触发菜单的展开和折叠,图标组件元素是汉堡图标本身。

CSS 样式

通过设置按钮元素和图标组件元素的 CSS 样式,我们可以创建一个漂亮的汉堡图标。以下是代码片段的详细说明:

/* 按钮样式 */
.hamburger {
  display: block;  /* 显示为块元素 */
  width: 30px;  /* 宽度为 30 像素 */
  height: 20px;  /* 高度为 20 像素 */
  border: none;  /* 边框为无 */
  background: transparent;  /* 背景为透明 */
  cursor: pointer;  /* 鼠标移上去显示手形光标 */
}

/* 图标样式 */
.icon {
  display: block;  /* 显示为块元素 */
  width: 100%;  /* 宽度为 100% */
  height: 2px;  /* 高度为 2 像素 */
  background: #333;  /* 背景为黑色 */
  transition: all 0.3s ease;  /* 动画过渡 */
}

/* 激活样式 */
.hamburger.active .icon {
  background: #fff;  /* 背景为白色 */
}

/* 上方条样式 */
.icon:before {
  content: "";  /* 空内容 */
  display: block;  /* 显示为块元素 */
  width: 100%;  /* 宽度为 100% */
  height: 2px;  /* 高度为 2 像素 */
  background: #333;  /* 背景为黑色 */
  transition: all 0.3s ease;  /* 动画过渡 */
  transform: translateY(-6px);  /* 上移 6 像素 */
}

/* 下方条样式 */
.icon:after {
  content: "";  /* 空内容 */
  display: block;  /* 显示为块元素 */
  width: 100%;  /* 宽度为 100% */
  height: 2px;  /* 高度为 2 像素 */
  background: #333;  /* 背景为黑色 */
  transition: all 0.3s ease;  /* 动画过渡 */
  transform: translateY(4px);  /* 下移 4 像素 */
}

/* 激活样式 */
.hamburger.active .icon:before {
  transform: rotate(45deg) translateY(0);  /* 旋转 45 度,不移动 */
}

/* 激活样式 */
.hamburger.active .icon:after {
  transform: rotate(-45deg) translateY(0);  /* 旋转 -45 度,不移动 */
}
实现效果

通过上述 CSS 样式,我们可以实现一个简单且漂亮的汉堡图标,效果如下:

汉堡图标

总结

本文介绍了如何使用 CSS 的 border-top 和 border-bottom 属性来创建一个简单的汉堡图标。同时,还介绍了一些可以使汉堡图标更漂亮的样式。

希望这篇文章能为你带来帮助,谢谢你的阅读!