📜  纯CSS按钮(1)

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

纯CSS按钮

在前端开发中,按钮是经常用到的组件。纯CSS的按钮不需要使用图片或其他外部资源,只需要利用CSS样式的组合就可以实现不同的按钮效果。本文将会讨论一些常见的 CSS 按钮样式及其实现方法。

1. 基本的按钮样式

基本的按钮样式包括:默认样式、鼠标悬停样式、激活样式。

<button class="button">Submit</button>
.button {
  background-color: #4CAF50; /*默认背景颜色*/
  border: none;
  color: white; /*默认前景颜色*/
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  cursor: pointer;
  border-radius: 8px; /*圆角*/
}

.button:hover {
  background-color: #3e8e41; /*鼠标悬停背景颜色*/
}

.button:active {
  background-color: #194d19; /*按钮激活背景颜色*/
}
2. 边框样式按钮

这种样式的按钮是有边框的,其实现方法是为按钮添加边框样式。

<button class="button border">Submit</button>
.button.border {
  background:none; /*背景透明*/
  border: 2px solid #4CAF50; /*边框*/
  color: #4CAF50; /*前景颜色*/
}
3. 圆形按钮

圆形按钮通常应用于导航按钮或操作按钮等场景,它们的 CSS 实现我们大概分为以下两种方式:

3.1 利用border-radius属性实现
<button class="button circle">S</button>
.button.circle {
  background-color: #4CAF50;
  border: none;
  color: white; 
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  cursor: pointer;
  border-radius: 50%; /*将按钮变成圆形*/
  width:60px; /*为了使按钮宽高相等,可以设置一个固定的宽高*/
  height:60px;
}
3.2 利用transform属性缩放实现
<button class="button circle scale">S</button>
.button.circle.scale {
  background-color: #4CAF50;
  border: none;
  color: white; 
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  cursor: pointer;
  border-radius: 50%; /*将按钮变成圆形*/
  width:60px; /*宽度*/
  height:60px; /*高度*/
  transition:transform 0.2s; /*添加缩放过渡*/
}

.button.circle.scale:hover {
  transform: scale(1.1); /*将图标放大1.1倍*/
}

使用transform缩放的方法,一些鼠标经过时的交互可以更加友好。

4. 渐变按钮

渐变按钮利用 CSS 渐变功能,制作出有层次感的渐变效果。

<button class="button gradient">Submit</button>
.button.gradient {
  background: linear-gradient(to bottom, #4CAF50, #355b35); /*线性渐变*/
  border: none;
  color: white; 
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  cursor: pointer;
  border-radius: 8px;
}
5. 透明按钮

透明按钮通常出现在模态框中,用于关闭模态框或执行取消操作等。

<button class="button transparent">Cancel</button>
.button.transparent {
  background-color: transparent; /*背景透明*/
  border: none;
  color: #4CAF50; /*前景颜色*/
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  cursor: pointer;
}
6. 按钮组

按钮组通常应用于表单中,用于实现多种操作。

<div class="button-group">
  <button class="button">Save</button>
  <button class="button">Delete</button>
  <button class="button">Copy</button>
</div>
.button-group button:not(:first-child) {
  border-left: none; /*移除左侧的边框*/
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.button-group button:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.button-group button {
  background-color: #4CAF50; 
  border: none;
  color: white;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 0;
  cursor: pointer;
  float:left; /*左浮动*/
  border-radius: 0; /*移除圆角*/
}

以上是一些常见的 CSS 按钮样式。在实际项目中,可以根据具体需求自定义按钮样式。