Try   HackMD

A 字母結合鉛筆旋轉效果

竹白記事本,學習紀錄,2019/02/22。

Drawing Logo Hover Effects | Html CSS Pencil Shape

tags: transition transform

CodePen

A 字母結合鉛筆旋轉效果

html 布局:

<h1>Dr<span>a</span>wing</h1>

使用字型樣式:

@import url('https://fonts.googleapis.com/css?family=Poppins:100');

font-family: 'Poppins', sans-serif;  // ff:ss
font-size: 8em;   // fz
font-weight: 100;  // fw
text-transform: uppercase; // tt

繪製鉛筆:

span {
  position: relative;  // posr
  display: inline-block;  // d:ib
  color: #422C20;
  
  &:before {
    content: '';  // cnt
    position: absolute;  // posa
    left: 4px;
    top: 110px;
    height: 2000px;
    background: #422C20;  // bg
    border-left: 35px solid #E1A52B;  // bdl
    border-right: 35px solid #FFBA31; // bdr
  }
}

加上動畫:

span {
  transition: 1s;  // trs
  
  &:before {
    transform: scaleY(0);  // trf:scy
    transform-origin: bottom;  // trfo
    transition: .5s;
  }
}

h1:hover {
  span {
    transform: rotate(190deg); // trf:r
    transition-delay: 1s;  // trsde

    &:before {
      transform: scaleY(1);
    }
  }
}

transition

transition|MDN

定義元件在兩個狀態之間切換的轉場效果。

  • transition-property,指定進行變換的屬性(預設 all)。
  • transition-duration,指定屬性值變換的時間(預設 0s)。
  • transition-timing-function,指定屬性變換的速度(預設 ease)。
  • transition-delay,指定變換效果的延遲時間(預設 0s)。

transform

transform|MDN

transform CSS 屬性可以讓你修改 CSS 可視化格式糢型(visual formatting model)的空間維度。使用此屬性,元素可以被平移、旋轉、縮放和傾斜。

  • translate(x,y),元素水平、垂直移動。
  • translateX(x),元素水平移動。
  • translateY(y),元素垂直移動。
  • scale(x,y),元素縮放。
  • scaleX(x),元素水平方向縮放。
  • scaleY(y),元素垂直方向縮放。
  • rotate(angle),元素旋轉的角度。
  • skew(x-angle,y-angle),元素傾斜設定。
  • skewX(angle),元素水平傾斜設定。
  • skewY(angle),元素垂直傾斜設定。
  • matrix(n,n,n,n,n,n),以含有 6 個參數值的變化定元素的變形效果。
  • none,不進行任何變換。

transform-origin

transform-origin 屬性為複合屬性值,其屬性包含水平(X 軸),與垂直(Y軸),方向的變量參數,變量參數間以空白隔開。如果只給一個數值,則變更水平(X 軸),垂直(Y軸)不變。

可用屬性值:

  • 長度,數值 + 單位
  • %(百分比),以元素預設中間的點的基準為百分比值。
  • left,靠左,水平方向位置的選項,等同 0%
  • right,靠右,水平方向位置的選項,等同 100%
  • top,靠上,垂直方向位置的選項,等同 0%
  • bottom,靠下,垂直方向位置的選項,等同 100%
  • center,置中, 水平、垂直方向位置的選項,等同 50%