CSS3 3D立體按鈕

admin發表於2019-01-27

分享一段程式碼例項,它利用CSS3實現了具有立體效果的按鈕。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
a.css-3d-btn{
  position: relative;
  color: rgba(255, 255, 255, 1);
  background-color: rgba(219, 87, 51, 1);
  text-decoration: none;
  font-weight: 700;
  font-size: 3em;
  display: block;
  padding: 4px;
  width: 160px;
  border-radius: 8px;
  box-shadow: 0px 9px 0px rgba(219, 31, 5, 1), 
    0px 9px 25px rgba(0, 0, 0, .7);
  margin: 100px auto;
  text-align: center;
  transition: all .1s ease;
}
a.css-3d-btn:active{
   box-shadow: 0px 3px 0px rgba(219, 31, 5, 1), 
     0px 3px 6px rgba(0, 0, 0, .9);
   position: relative;
   top: 6px;
}
</style>      
</head>
<body>
<a class="css-3d-btn" href="#">登入</a>
</body>
</html>

上面程式碼實現了預期效果,下面介紹一下它的實現過程。

一.程式碼註釋:

position: relative,將連結a元素設定為相對定位,它的作用和麵會介紹。

[CSS] 純文字檢視 複製程式碼
color: rgba(255, 255, 255, 1);
background-color: rgba(219, 87, 51, 1);

將文字顏色設定為白色,背景色為橙色。

text-decoration: none,去掉超連結底部預設自帶的下劃線。

[CSS] 純文字檢視 複製程式碼
display: block;
padding: 4px;
width: 160px;

將連結a元素設定為塊級元素,這樣就可以設定它的內邊距和寬度。

margin: 100px auto,將連結設定為水平居中。

border-radius: 8px,將連結設定為圓角效果。

[CSS] 純文字檢視 複製程式碼
box-shadow: 0px 9px 0px rgba(219, 31, 5, 1), 
    0px 9px 25px rgba(0, 0, 0, .7);

使用box-shodow屬性實現了立體陰影效果。

[CSS] 純文字檢視 複製程式碼
a.css-3d-btn:active{
   box-shadow: 0px 3px 0px rgba(219, 31, 5, 1), 
     0px 3px 6px rgba(0, 0, 0, .9);
   top: 6px;
}

當滑鼠按下的時候,重新設定box-shadow屬性值和top屬性值。

這樣就實現了動態效果。

二.相關閱讀:

(1).相對定位參閱CSS position:relative 相對定位一章節。

(2).rgba參閱CSS 顏色表示法一章節。

(3).border-radius參閱CSS3 border-radius一章節。

(4).box-shadow參閱CSS3 box-shadow一章節。

(5).transition參閱CSS3 transition一章節。

(6).:active參閱CSS E:active偽類選擇器一章節。

相關文章