動(dòng)效篇(6)--CSS極簡(jiǎn)動(dòng)效鑒賞與制作(難度+2M峤瘛)

(一)牛人動(dòng)效

作者Fabio Ottaviani晤锹,編寫語言HTML/SCSS/JS
作者Jason Jacobson,編寫語言HTML/CSS(SCSS)
作者ari彤委,編寫語言HTML(jade)/CSS(SCSS)
作者Fabio Ottaviani,編寫語言HTML/CSS(SCSS)
作者Elena Nazarova或衡,編寫語言HTML/CSS(SCSS)
作者小編redblue_焦影,編寫語言HTML/CSS

(二)動(dòng)效制作&詳解(詳解見注釋3邓臁!K钩健)

總結(jié)筆記(動(dòng)態(tài)更新)
http://www.reibang.com/p/7ebd24b67386

HTML

<h1 class='title'>Responsive Web Design</h1>
    
<div class="container">
  <div class='thing'>
    <input type="checkbox" href="#" class="menu-open" name="menu-open" id="menu-open" /> 
    <label class="menu-open-button" for="menu-open">    
      <span class="hamburger hamburger-1"></span>
      <span class="hamburger hamburger-2"></span>
      <span class="hamburger hamburger-3"></span>
    </label>
  </div>
//為了簡(jiǎn)短此處按鈕省略舶担,有需要的留言。

SCSS

1.設(shè)置變量$和@mixin

一個(gè)響應(yīng)式的布局

把一些可以重復(fù)用的屬性值設(shè)置為變量$和@mixin(我個(gè)人理解為函數(shù)或方法)彬呻。

//$colors顏色數(shù)組
$colors: (
  primary   : #1abc9c,
  secondary : #DB5461,
  bright    : #FECA51,
  blend     : #1AC2CA,
  info      : #60C7FF,
  success   : #5cb85c,
  alert     : #ff9d5d,
  danger    : #E67373
);

$bg:#333;
$white:#fff;
/*
@media 可以針對(duì)不同的屏幕尺寸設(shè)置不同的樣式衣陶,特別是設(shè)計(jì)響應(yīng)式的頁面,@media 是非常有用的闸氮。
screen-between($min-screen-size, $max-screen-size)當(dāng)窗口尺寸范圍剪况,
查詢窗口  (最小寬度min-width: $min-screen-size) 和 (最大寬度max-width: ($max-screen-size - 1px))
當(dāng)我們重置瀏覽器大小的過程中,頁面也會(huì)根據(jù)瀏覽器的寬度和高度重新渲染蒲跨。
*/
@mixin screen-between($min-screen-size, $max-screen-size) {
  @media screen and (min-width: $min-screen-size) and (max-width: ($max-screen-size - 1px)) {
    @content;
  }
}
@mixin screen-above($screen-size) {
  @media screen and (min-width: $screen-size) {
    @content;
  }
}
//$cols列數(shù)译断,$margin外邊距
@mixin flexgrid($cols, $margin) {
  $width: (100% / $cols);
  $calc-margin: (($margin * $cols) - $margin) / $cols;
  display: flex;
//多行多列布局
  flex-wrap: wrap;
//lex-wrap: wrap,flex容器為多行,flex子項(xiàng)溢出的部分會(huì)被放置到新行,子項(xiàng)內(nèi)部會(huì)發(fā)生斷行
  justify-content: space-between;
//justify-content: space-between容器內(nèi)各行之間留有空白
  > * {
    width: calc( #{$width} - #{$calc-margin} );
    margin: 0 $margin / 2;
    &:nth-child(1) {
      margin-left: 0;
    }
    &:nth-child(#{$cols}n) {
      margin-right: 0;
    }
    &:nth-child(#{$cols}n + 1) {
      margin-left: 0;
    }
  }
}
@mixin screen-between,@mixin screen-above,@mixin flexgrid($cols, $margin),適配屏幕尺寸的算法或悲,
當(dāng)@include調(diào)用screen-between(600px, 800px) 的時(shí)候會(huì)把闊號(hào)中的兩個(gè)參數(shù)(600px, 800px)傳回@mixin screen-between中進(jìn)行計(jì)算

2.搭建基本形


.container { 
  @include screen-between(600px, 800px) {
    @include flexgrid(2, 1rem);
  }
  @include screen-between(800px, 1000px) {
    @include flexgrid(3, 1rem);
  }
  @include screen-above(1000px) {
    @include flexgrid(4, 1rem);
  }
  padding: 0 1rem; 
}

body{
  min-height: 100vh;
  font-family: 'Baloo Tamma';
  text-align: center;
  text-transform: uppercase;
  line-height: 1;
}
.title{
  font-family:'Lato', Verdana, "Trebuchet MS", Geneva, sans-serif;
  font-size:300%;
  font-weight: 700;
  padding:2rem 1rem;
  color:$bg;
}
.menu-open-button,.menu-open-button1,.menu-open-button2,.menu-open-button3,.menu-open-button4,.menu-open-button5,.menu-open-button6,.menu-open-button7,.menu-open-button8{
  background-color: map-get($colors,info);
/*(map-get($colors,info)孙咪,用map-get獲取$colors組中的顏色,map-get案例詳解見筆記總結(jié)*/
  border-radius: 5% 5% 5%  5%;
  width:72px;
  height:72px;
  justify-content:center;
  align-items:center;
  position:absolute;
  text-align:center;
  line-height:80px;
  transition-timing-function:cubic-bezier(0.175, 0.885, 0.320, 1.275);
  //過度效果的速度曲線值
  transition-duration:400ms;  
  transform:scale(0.8,0.8);
}
.menu-open-button,.menu-open-button1,.menu-open-button2,.menu-open-button3,.menu-open-button4,.menu-open-button5,.menu-open-button6,.menu-open-button7,.menu-open-button8{
  &:hover{
    transform:scale(1,1);
  }
}
.menu-open:checked~{

  transition-timing-function:linear;
  transition-duration:200ms;
}
.menu-open,.menu-open1,.menu-open2,.menu-open3,.menu-open4,.menu-open5,.menu-open6,.menu-open7,.menu-open8{
  display:none;
}
.thing{
  color: $white;
  font-size: 200%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  margin-bottom: 1rem;
  cursor: pointer;
  position: relative; 
  
  &:nth-child(1),
  &:nth-child(4),
  &:nth-child(7) {
    background-color: map-get($colors,primary);  
  }
  &:nth-child(2),
  &:nth-child(5),
  &:nth-child(8) {
    background-color: map-get($colors,secondary);  
  }  
  &:nth-child(3),
  &:nth-child(6),
  &:nth-child(9){
    background-color: map-get($colors,bright);  
  }   
}
.hamburger{
  $width:52px;
  $height:6px;
  width:$width;
  height:$height;
  background:white;
  display:block;
  position:absolute;
  top:50%;
  left:50%;
  margin-left:-$width/2;
  margin-top:-$height/2;
  transition:transform 300ms;  
  
}
$hamburger-spacing:16px;
$hamburger-rurn:6px;
$hamburger-rurn-b:3px;
$hamburger-rurn-a:11px;
$toggled-size : 0.75;

2.加入動(dòng)畫

最終效果
.hamburger-1{
  transform:translate3d(0,-$hamburger-spacing,0);
}
.hamburger-2{
  transform:translate3d(0,0,0);
}
.hamburger-3{
  transform:translate3d(0,$hamburger-spacing,0);
}
.menu-open:checked+.menu-open-button{
  .hamburger-1{
    transform:translate3d(0,0,0) rotate(45deg); 
  }
  .hamburger-2{
    transform:translate3d(0,0,0) scale(0.1,1);
  }
  .hamburger-3{
    transform:translate3d(0,0,0) rotate(-45deg); 
  }
}
//其他 .hamburger都是一樣的巡语,為了簡(jiǎn)短此處省略翎蹈,有需要的留言。
/*友情提示:如果覺得此文有難度男公,請(qǐng)看小編之前文章(難度較低)或自行洗洗睡了~*/
>  ###結(jié)束(下期更精彩喲~~~)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末荤堪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子理澎,更是在濱河造成了極大的恐慌逞力,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糠爬,死亡現(xiàn)場(chǎng)離奇詭異寇荧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)执隧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門揩抡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人镀琉,你說我怎么就攤上這事峦嗤。” “怎么了屋摔?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵烁设,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我钓试,道長(zhǎng)装黑,這世上最難降的妖魔是什么副瀑? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮恋谭,結(jié)果婚禮上糠睡,老公的妹妹穿的比我還像新娘。我一直安慰自己疚颊,他們只是感情好狈孔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著材义,像睡著了一般均抽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上母截,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天到忽,我揣著相機(jī)與錄音,去河邊找鬼清寇。 笑死喘漏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的华烟。 我是一名探鬼主播翩迈,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼盔夜!你這毒婦竟也來了负饲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤喂链,失蹤者是張志新(化名)和其女友劉穎返十,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體椭微,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡洞坑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蝇率。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片迟杂。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖本慕,靈堂內(nèi)的尸體忽然破棺而出排拷,到底是詐尸還是另有隱情,我是刑警寧澤锅尘,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布监氢,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏忙菠。R本人自食惡果不足惜何鸡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望牛欢。 院中可真熱鬧,春花似錦淆游、人聲如沸傍睹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拾稳。三九已至,卻和暖如春腊脱,著一層夾襖步出監(jiān)牢的瞬間访得,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工陕凹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悍抑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓杜耙,卻偏偏與公主長(zhǎng)得像搜骡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子佑女,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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