📅  最后修改于: 2023-12-03 15:11:37.296000             🧑  作者: Mango
在前端开发中,按钮是经常用到的组件。纯CSS的按钮不需要使用图片或其他外部资源,只需要利用CSS样式的组合就可以实现不同的按钮效果。本文将会讨论一些常见的 CSS 按钮样式及其实现方法。
基本的按钮样式包括:默认样式、鼠标悬停样式、激活样式。
<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; /*按钮激活背景颜色*/
}
这种样式的按钮是有边框的,其实现方法是为按钮添加边框样式。
<button class="button border">Submit</button>
.button.border {
background:none; /*背景透明*/
border: 2px solid #4CAF50; /*边框*/
color: #4CAF50; /*前景颜色*/
}
圆形按钮通常应用于导航按钮或操作按钮等场景,它们的 CSS 实现我们大概分为以下两种方式:
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;
}
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
缩放的方法,一些鼠标经过时的交互可以更加友好。
渐变按钮利用 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;
}
透明按钮通常出现在模态框中,用于关闭模态框或执行取消操作等。
<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;
}
按钮组通常应用于表单中,用于实现多种操作。
<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 按钮样式。在实际项目中,可以根据具体需求自定义按钮样式。