web前端入門到實戰(zhàn):html5網(wǎng)頁特效-水墨動畫

效果

  • 鼠標觸碰按鈕,出現(xiàn)水墨風(fēng)格動畫
  • 屏幕自適應(yīng)
  • 一份html文件聪廉,一份css文件,無javascript,上手程度:很簡單

筆記

:root

這個 CSS 偽類匹配文檔樹的根元素夺巩。對于 HTML 來說,:root 表示元素周崭,除了優(yōu)先級更高之外柳譬,與 html 選擇器相同。

box-sizing

屬性允許您以特定的方式定義匹配某個區(qū)域的特定元素续镇。

content-box:在寬度和高度之外繪制元素的內(nèi)邊距和邊框美澳。
border-box:在寬度和高度之內(nèi)繪制元素的內(nèi)邊距和邊框。
inherit:從父元素繼承
顏色漸變linear-gradient
背景漂亮的深藍-淺藍效果就是這個的作用摸航。具體請看developer.mozilla.org/zh-CN/docs/…

  • calc()

此CSS函數(shù)讓你在聲明CSS屬性值時執(zhí)行一些計算制跟。它可以用在如下場合:、, 酱虎、雨膨、、或读串。

flex:

這是一種可以自動適應(yīng)不同屏幕尺寸的布局界面聊记。下面的justify-content和align-items規(guī)定了應(yīng)用flex布局的子元素的排列方式

justify-content:設(shè)置或檢索彈性盒子元素在主軸(橫軸)方向上的對齊方式。通俗一點就是左右方向恢暖。
align-items:設(shè)置或檢索彈性盒子元素在側(cè)軸(縱軸)方向上的對齊方式排监。通俗一點就是上下方向。
@media:
媒體查詢杰捂,簡單來說就是可以讓網(wǎng)頁自動適應(yīng)不同的設(shè)備屏幕尺寸社露。例如上面意為當屏幕寬度小于750px時,就讓flex的方向改為縱軸排列琼娘。

rem:

是一個相對單位峭弟,相對根元素字體大小的單位附鸽,再直白點就是相對于html元素字體大小的單位。用px這種絕對單位固然方便瞒瘸,但當屏幕尺寸改變坷备,就沒看看全了。rem則是一種相對單位情臭,根據(jù)父元素的變化而變化省撑,解決了自適應(yīng)的問題。

cubic-bezier:

貝塞爾曲線俯在,用來生成水墨效果的關(guān)鍵竟秫。

源碼:

html代碼

web前端開發(fā)學(xué)習(xí)Q-q-u-n: 731771211,分享學(xué)習(xí)的方法和需要注意的小細節(jié)跷乐,不停更新最新的教程和學(xué)習(xí)方法(詳細的前端項目實戰(zhàn)教學(xué)視頻肥败,PDF)
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>CSS3 水墨風(fēng)格背景動畫按鈕DEMO演示</title>

<link rel="stylesheet" href="css/style.css">

</head>
<body>

<svg width="0" height="0"> 
    <filter id="filter">
        <feTurbulence type="fractalNoise" baseFrequency=".01" numOctaves="6" />
        <feDisplacementMap in="SourceGraphic" scale="100" />
    </filter>
</svg>

<div class="wrapper">
  <div class="button _1"> <span>hover</span>
    <div class="back"></div>
  </div>
  <div class="button _2"> <span>hover</span>
    <div class="back"></div>
  </div>
  <div class="button _3"> <span>hover</span>
    <div class="back"></div>
  </div>
  <div class="button _4"> <span>hover</span>
    <div class="back"></div>
  </div>
</div>

<div style="text-align:center;clear:both;">
<script src="/gg_bd_ad_720x90.js" type="text/javascript"></script>
<script src="/follow.js" type="text/javascript"></script>
</div>

</body>
</html>

css代碼:

web前端開發(fā)學(xué)習(xí)Q-q-u-n: 731771211,分享學(xué)習(xí)的方法和需要注意的小細節(jié)愕提,不停更新最新的教程和學(xué)習(xí)方法(詳細的前端項目實戰(zhàn)教學(xué)視頻馒稍,PDF)
:root {
  --height: 100px;
  --width: 200px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  width: 100%;
  height: 100vh;
  background-image: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
  font-family: sans-serif;
}

.wrapper {
  width: calc(4 * var(--width));
  height: calc(4 * var(--height));
  display: flex;
  justify-content: center;
  align-items: center;
}

.button {
  position: relative;
  width: calc(0.8 * var(--width));
  height: calc(0.7 * var(--height));
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  overflow: hidden;
  margin: 0 0.8rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2), 0 3px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s cubic-bezier(0, 0.22, 0.3, 1);
}
.button:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.1);
}
.button span {
  color: #fff;
  font-size: 1rem;
  z-index: 10;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.button._1 {
  background: #2980b9;
}
.button._2 {
  background: #8e44ad;
}
.button._3 {
  background: #16a085;
}
.button._4 {
  background: #e74c3c;
}
.button .back {
  position: absolute;
  width: 0;
  height: 0;
  filter: url(#filter);
  border-radius: 50%;
  z-index: 5;
  transition: all 2.5s cubic-bezier(0.1, 0.22, 0.3, 1);
}
.button._1 .back {
  left: -50%;
  top: -50%;
  background: #27ae60;
}
.button._2 .back {
  right: -50%;
  top: -50%;
  background: #c0392b;
}
.button._3 .back {
  left: -50%;
  bottom: -50%;
  background: #34495e;
}
.button._4 .back {
  right: -50%;
  bottom: -50%;
  background: #2980b9;
}
.button:hover .back {
  width: calc(2 * var(--width));
  height: calc(2 * var(--height));
}

@media only screen and (max-width: 750px) {
  .wrapper {
    flex-direction: column;
  }

  .button {
    margin: 0.8rem 0;
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市浅侨,隨后出現(xiàn)的幾起案子纽谒,更是在濱河造成了極大的恐慌,老刑警劉巖如输,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鼓黔,死亡現(xiàn)場離奇詭異,居然都是意外死亡不见,警方通過查閱死者的電腦和手機澳化,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脖祈,“玉大人肆捕,你說我怎么就攤上這事刷晋「歉撸” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵眼虱,是天一觀的道長喻奥。 經(jīng)常有香客問我,道長捏悬,這世上最難降的妖魔是什么撞蚕? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮过牙,結(jié)果婚禮上甥厦,老公的妹妹穿的比我還像新娘纺铭。我一直安慰自己,他們只是感情好刀疙,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布舶赔。 她就那樣靜靜地躺著,像睡著了一般谦秧。 火紅的嫁衣襯著肌膚如雪竟纳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天疚鲤,我揣著相機與錄音锥累,去河邊找鬼。 笑死集歇,一個胖子當著我的面吹牛桶略,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鬼悠,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼删性,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了焕窝?” 一聲冷哼從身側(cè)響起蹬挺,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎它掂,沒想到半個月后巴帮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡虐秋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年榕茧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片客给。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡用押,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出靶剑,到底是詐尸還是另有隱情蜻拨,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布桩引,位于F島的核電站缎讼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏坑匠。R本人自食惡果不足惜血崭,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧夹纫,春花似錦咽瓷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至跺涤,卻和暖如春匈睁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桶错。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工航唆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人院刁。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓糯钙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親退腥。 傳聞我的和親對象是個殘疾皇子任岸,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容