CSS3解析抖音 LOGO製作
“抖音”,人氣也是非常高,據說擁有7億使用者。
今天我們就來研究研究抖音的logo,蹭蹭熱度。
效果預覽:

主要用css3新增屬性 mix-blend-mode
,”組成,然後有3種顏色,白色、紅色、和天藍色。
ok,我們先來完成一個“J”。根據以往的經驗,我們把它拆分成3部分。

下面我們來分步驟實現。
完成單個“J”
<div class="jitter"> <div class="logo"></div> </div>
新增樣式
.jitter { position: relative; width: 200px; margin: 100px auto; } // 第一部分 .logo { position: absolute; top: 0; left: 0; width: 47px; height: 218px; z-index: 1; background: #24f6f0; } // 第二部分 .logo::after { content: ""; position: absolute; width: 140px; height: 140px; border: 40px solid #24f6f0; border-right: 40px solid transparent; border-top: 40px solid transparent; border-left: 40px solid transparent; top: -110px; right: -183px; border-radius: 100%; transform: rotate(45deg); z-index: -10; } // 第三部分 .logo::before { content: ""; position: absolute; width: 100px; height: 100px; border: 47px solid #24f6f0; border-top: 47px solid transparent; border-radius: 50%; top: 121px; left: -147px; transform: rotate(45deg); }
第一部分,就是個矩形
第二部分,是圓環的1/4
第三部分,是圓環的3/4

有句話叫做“方法不對,努力白費”所有的前端大神都有自己的學習方法,而學web前端的學習也基本一致,而對於一個什麼都不懂的初學者,根本不會知道該怎麼學,這也是造成失敗的最直接原因。所以學web前端一定要有人指點。如果你處在迷茫期,找不到方向。可以加入我們的前端學習交流qun: 784783012 。有任何不明白的東西隨時來問我。點選:前端學習圈
新增另外一個“J”
<div class="jitter"> <div class="logo"></div> <div class="logo"></div> </div>
樣式只需要新增
... // 省略上面的樣式 ... // 和第一個J錯開10px .logo:last-child { left: 10px; top: 10px; background: #fe2d52; z-index: 100; } // 填充紅色 .logo:last-child::before { border: 47px solid #fe2d52; border-top: 47px solid transparent; } .logo:last-child::after { border: 40px solid #fe2d52; border-right: 40px solid transparent; border-top: 40px solid transparent; border-left: 40px solid transparent; }

主角登場 - mix-blend-mode
CSS3 新增了一個很有意思的屬性 – mix-blend-mode
,其中 mix 和 blend 的中文意譯均為混合,那麼這個屬性的作用直譯過來就是混合混合模式,當然,我們我們通常稱之為混合模式。
混合模式最常見於 photoshop 中,是 PS 中十分強大的功能之一。下面來看看 mix-blend-mode
有哪些屬性可以設定:
mix-blend-mode: normal;// 正常 mix-blend-mode: multiply;// 正片疊底 mix-blend-mode: screen;// 濾色 mix-blend-mode: overlay;// 疊加 mix-blend-mode: darken;// 變暗 mix-blend-mode: lighten;// 變亮 mix-blend-mode: color-dodge;// 顏色減淡 mix-blend-mode: color-burn;// 顏色加深 mix-blend-mode: hard-light;// 強光 mix-blend-mode: soft-light;// 柔光 mix-blend-mode: difference;// 差值 mix-blend-mode: exclusion;// 排除 mix-blend-mode: hue;// 色相 mix-blend-mode: saturation;// 飽和度 mix-blend-mode: color;// 顏色 mix-blend-mode: luminosity;// 亮度 mix-blend-mode: initial; mix-blend-mode: inherit; mix-blend-mode: unset;
然後我們新增 mix-blend-mode:lighten
.logo:last-child { ... mix-blend-mode: lighten; }
看看效果:

是不是很Ok了?
然後我們新增動畫,讓第二個J緩慢和一個J融合。
動畫融合
.logo:last-child { ... animation: move 10s infinite; } @keyframes move { 0% { transform: translate(200px); } 50% { transform: translate(0px); } 100% { transform: translate(0px); } }
最終就可以實現第一張圖片的預覽效果了。