使用CSS新增按鈕點選按下效果
為了允許使用者與網站或應用程式互動,按鈕是網頁設計中必不可少的元件。透過使用CSS為按鈕新增視覺上美觀且創新的點選效果,可以極大地改善使用者體驗並使互動更有趣。
可以使用CSS的`active`偽類在按鈕點選時建立按下效果。此樣式透過定義按鈕被點選時的外觀來提供視覺反饋。在瞭解更多資訊之前,讓我們快速瞭解一下HTML中的按鈕。
HTML按鈕
在HTML中,可點選的按鈕由<button>標籤定義。我們可以在<button>標籤內使用文字和影像。不同瀏覽器的預設<button>型別不同,用於提交內容。我們可以使用CSS工具來設定按鈕的樣式。
語法
以下是HTML按鈕的語法
<button>....</button>
示例
讓我們來看下面的例子,我們將建立一個按鈕並應用CSS。
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: #34495E;
text-align: center;
}
button {
margin: 150px;
position: relative;
overflow: hidden;
padding: 10px 40px;
font-size: 30px;
font-family: verdana;
background-color: transparent;
border: none;
color: #DE3163;
transition: 0.3s;
&::before {
content: '';
height: 3px;
width: 0;
left: 0;
bottom: 0;
position: absolute;
background: #E8DAEF;
transition: 0.4s;
}
&:hover {
&::before {
width: 100%;
}
}
}
span.y {
background-color: #D5F5E3;
border-radius: 100%;
position: absolute;
transform: scale(0);
animation: y .4s linear forwards;
}
@keyframes y {
to {
transform: scale(1);
opacity: 0;
}
}
</style>
</head>
<body>
<div>
<button class="tp">CLICK ME</button>
</div>
<script>
var button = document.querySelectorAll('.tp');
Array.prototype.forEach.call(button, function(a) {
a.addEventListener('click', ripple)
});
function ripple(event) {
var x = document.createElement('span');
x.classList.add('y');
var max = Math.max(this.offsetWidth, this.offsetHeight);
x.style.width = x.style.height = max * 2 + 'px';
var rect = this.getBoundingClientRect();
x.style.left = event.clientX - rect.left - max + 'px';
x.style.top = event.clientY - rect.top - max + 'px';
this.appendChild(x);
}
</script>
</body>
</html>
執行以上程式碼後,它將在網頁上生成一個包含點選按鈕的輸出。當用戶嘗試點選按鈕時,它會顯示由CSS製作的效果。
示例
再來看另一個例子,我們將滑鼠懸停在按鈕上時新增星號。
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: #D5F5E3;
text-align: center;
}
.tp {
border-radius: 10px;
background-color: #D2B4DE;
border: none;
color: #DE3163;
font-size: 30px;
font-family: verdana;
padding: 10px;
width: 150px;
cursor: pointer;
margin: 50px;
}
.tp span {
position: relative;
transition: 0.3s;
}
.tp span:after {
content: '\2042';
position: absolute;
opacity: 0;
top: -3px;
right: -25px;
transition: 0.5s;
}
.tp:hover span {
padding-right: 30px;
}
.tp:hover span:after {
opacity: 2;
right: 1px;
}
</style>
</head>
<body>
<button class="tp">
<span>CLICK</span>
</button>
</body>
</html>
執行以上程式碼後,輸出視窗將彈出,在網頁上顯示應用了CSS的按鈕。當用戶嘗試將滑鼠懸停在星號上時。
示例
在下面的例子中,我們將使用CSS建立一個簡單的按鈕按下效果。
<!DOCTYPE html>
<html>
<head>
<style>
.button {
background-color: orange;
color: white;
border: none;
border-radius: 7px;
box-shadow: 0 5px #999;
display: inline-block;
padding: 10px;
font-size: 16px;
cursor: pointer;
text-align: center;
outline: none;
}
.button:hover {
background-color: blue;
}
.button:active {
background-color: orange;
box-shadow: 0 5px gray;
transform: translateY(2px);
}
</style>
</head>
<body>
<button class="button">Result</button>
</body>
</html>
執行以上程式碼後,它將在網頁上生成一個包含應用了CSS的按下效果的輸出。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP