CSS3郵票鋸齒邊框效果詳解

螞蟻小編發表於2017-12-02

分享一段程式碼例項,它利用CSS3實現了帶有鋸齒邊框的郵票效果。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
* {
  margin: 0;
  padding: 0;
}
body {
  background: #B1d202;
}
.stamp {
  width: 280px;
  height: 180px;
  display: inline-block;
  padding: 10px;
  background: white;
  position: relative;
  background: radial-gradient(transparent 0px, transparent 4px, white 4px, white);
  background-size: 20px 20px;
  background-position: -10px -10px;
}
.stamp:after {
  content: '';
  position: absolute;
  left: 5px;
  top: 5px;
  right: 5px;
  bottom: 5px;
  z-index: -1;
}
</style>
</head>
<body>
<div class="stamp">
  <img src="demo/CSS/img/css3logo.png" />
</div>
</body>
</html>

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

一.程式碼註釋:

[CSS] 純文字檢視 複製程式碼
* {
  margin: 0;
  padding: 0;
}

進行簡單的初始化,將所有元素的內邊距和外邊距設定為0。

[CSS] 純文字檢視 複製程式碼
body {
  background: #B1d202;
  padding: 100px;
  text-align: center;
}

設定body的背景色、內邊距和對齊方式。

[CSS] 純文字檢視 複製程式碼
.stamp {
  width: 280px;
  height: 180px;
  display: inline-block;
  padding: 10px;
  background: white;
  background: radial-gradient(transparent 0px, transparent 4px, white 4px, white);
  background-size: 20px 20px;
  background-position: -10px -10px;
}

郵票效果的關鍵是,使用徑向漸變作為背景,也就是一個個重複排列的白色圓圈。

有些白色圓圈恰好被div的邊緣給切割開,就形成了鋸齒效果。

二.相關閱讀:

(1).徑向漸變參閱CSS3 radial-gradient()徑向漸變一章節。

(2).background-size參閱CSS3 background-size一章節。

(3).background-position參閱CSS background-position一章節。

相關文章