10 個 GitHub 上超火的 CSS 奇技淫巧專案,找到寫 CSS 的靈感!

天明夜盡發表於2020-11-24

大家好,我是你們的 超級貓,一個不喜歡吃魚、又不喜歡喵 的超級貓 ~

如果 CSS 是女孩子,肯定如上圖那樣吧 ? ~

簡介

一般人沒事的時候刷刷朋友圈、微博、電視劇、知乎,而有些人是沒事的時候刷刷 GitHub ,看看最近有哪些流行的專案。

久而久之,這差距就越來越大,因此總會有開源資訊的不對稱,有哪些優秀的前端開源專案值得學習的也不知道。

初步前端與高階前端之間,最大的差距可能就是資訊差造成的。

超級貓從 2016 年加入 GitHub,到現在的 2020 年,快整整 5 個年頭了。

從 2018 年開始,我就養成了每天逛 GitHub 的習慣,一般在早上上班前或者中午午休的時候都會逛一下。

看看每天都開源了哪些好的前端專案,還有用到的主流前端技術棧又是哪些,值得我去學習的。

因此也收藏了不少好的開源專案,在此推薦給大家,每週會有一到三篇精華文章推送。

希望你在瀏覽、學習了超級貓推薦的這些開源專案的過程中,你能學習到更多程式設計知識、提高程式設計技巧、找到程式設計的樂趣。

前端GitHub,專注於挖掘 GitHub 上優秀的前端開源專案,抹平你的前端資訊不對稱,涵蓋 JavaScript、Vue、React、Node、小程式、Flutter、Deno、HTML、CSS、資料結構與演算法 等等。

平時如何發現好的開源專案,可以看看這篇文章:GitHub 上能挖礦的神仙技巧 - 如何發現優秀開源專案


以下為【前端GitHub】的第 7 期精華內容。

今天給大家帶來的是 GitHub 上超火的 10 個 CSS 專案,希望你在這裡面找到寫 CSS 的靈感!

喵~ 喵~ 喵~ 正文開始了,上車坐穩扶好了~


You-need-to-know-css

該專案是 CSS 的各種效果實現,尤其是動畫效果。

筆者把自己的收穫和工作中常用的一些 CSS 小樣式總結成這份文件。

目前文件一共包含 43 個 CSS 的小樣式(持續更新…),所以還是很不錯的學習 CSS 的專案來的。

比如: 打字效果

<style>
  main {
    width: 100%; height: 229px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  span {
    display: inline-block;
    width: 21ch;
    font: bold 200% Consolas, Monaco, monospace;   /*等寬字型*/
    overflow: hidden;
    white-space: nowrap;
    font-weight: 500;
    border-right: 1px solid transparent;
    animation: typing 10s steps(21), caret .5s steps(1) infinite;
  }
  @keyframes typing{
    from {
        width: 0;
    }
  }
  @keyframes caret{
    50% { border-right-color: currentColor}
  }
</style>
<template>
  <main class="main">
    <span>前端GitHub</span>
  </main>
</template>
<script>
</script>

https://lhammer.cn/You-need-to-know-css/#/zh-cn/


CSS-Inspiration

這裡可以讓你尋找到使用或者是學習 CSS 的靈感,以分類的形式,展示不同 CSS 屬性或者不同的課題使用 CSS 來解決的各種方法。

包含了:佈局(Layout)、陰影(box-shadow、drop-shadow)、偽類/偽元素、濾鏡(fliter)、邊框(border)、背景/漸變(linear-gradient/radial-gradient/conic-gradient)、混合模式(mix-blend-mode/background-blend-mode)、3D、動畫/過渡(transition/animation)、clip-path、文字類、綜合、CSS-Doodle、SVG 等內容。

比如:巧用 CSS 實現酷炫的充電動畫

https://github.com/chokcoco/CSS-Inspiration


css_tricks

該專案總結了一些常用的 CSS 樣式,記錄一些 CSS 的新屬性和一點奇技淫巧。

比如 提示氣泡的效果

<div class="poptip btn" aria-controls="彈出氣泡">poptip</div>
$poptipBg: #30363d;
$color: #fff;
$triangle: 8px;
$distance: -12px;
.poptip {
  position: relative;
  z-index: 101;
  &::before,
  &::after {
    visibility: hidden;
    opacity: 0;
    transform: translate3d(0, 0, 0);
    transition: all 0.3s ease 0.2s;
    box-sizing: border-box;
  }
  &::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: $triangle $triangle 0 $triangle;
    border-color: $poptipBg transparent transparent transparent;
    left: calc(50% - #{$triangle});
    top: 0px;
    transform: translateX(0%) translateY($distance);
  }

  &::after {
    font-size: 14px;
    color: $color;
    content: attr(aria-controls);
    position: absolute;
    padding: 6px 12px;
    white-space: nowrap;
    z-index: -1;
    left: 50%;
    bottom: 100%;
    transform: translateX(-50%) translateY($distance);
    background: $poptipBg;
    line-height: 1;
    border-radius: 2px;
  }
  &:hover::before,
  &:hover::after {
    visibility: visible;
    opacity: 1;
  }
}

.btn {
  min-width: 100px;
  line-height: 1.5;
  padding: 5px 10px;
  color: #fff;
  background: #00adb5;
  border-radius: 4px;
  text-align: center;
  cursor: pointer;
}

效果:

https://github.com/QiShaoXuan/css_tricks


animista

該專案裡面有各種 CSS 實現的效果,還有程式碼演示,方便直接複製程式碼,還可以複製壓縮後的程式碼,如果你在找某個 CSS 的效果的話,可以到這裡找找看。

http://animista.net/

spinkit

彙集了實現各種載入效果的 CSS 程式碼片段。

SpinKit 僅使用(transformopacity)CSS 動畫來建立平滑且易於自定義的動畫。

https://tobiasahlin.com/spinkit/


You-Dont-Need-JavaScrip

https://github.com/you-dont-need/You-Dont-Need-JavaScrip

十天精通 CSS3

這是前端大佬大漠出的一個免費的 CSS3 教程,對於有一定 CSS2 經驗的夥伴,能讓您系統的學習 CSS3,快速的理解掌握並應用於工作之中。

裡面的內容有講解,還有程式碼演習,學完之後,可以練習所學的 api ,真的很不錯。

超級貓入門前端時,也學習過裡面的內容呢,雖然現在忘記的差不多了 ?,但是學過!。

https://www.imooc.com/learn/33


Animate

是一個有趣的,跨瀏覽器的 css3 動畫庫,內建了很多典型的 css3 動畫,相容性好使用方便。

animate.css 的使用非常簡單,因為它是把不同的動畫繫結到了不同的類裡,所以想要使用哪種動畫,只需要把通用類 animated 和相應的類新增到元素上就行了。

做為一個前端開發,如果不知道這個庫就真的很失敗了。

https://animate.style/


sass

Sass 是一種 CSS 的預編譯語言,Sass 為 CSS 賦予了更強大的功能。

它提供了 變數(variables)、巢狀(nested rules) [混合(mixins)、函式(functions)等功能,並且完全相容 CSS 語法。

Sass 能夠幫助複雜的樣式表更有條理, 並且易於在專案內部或跨專案共享設計。

https://sass.bootcss.com/documentation


less

Less 是一門 CSS 預處理語言,它擴充套件了 CSS 語言,增加了變數、Mixin、函式等特性。

Less 可以執行在 Node 或瀏覽器端。

https://less.bootcss.com/


stylus

富有表現力、動態、健壯的 CSS。

它提供了一種高效,動態和表達方式來生成 CSS。同時支援縮排語法和常規 CSS 樣式。

https://stylus-lang.com/


CSS 前處理器技術已經非常的成熟了,而且也湧現出了越來越多的 CSS 的前處理器框架。

對於 sass 、less 和 stylus,都是在現在的 vue 和 react 專案中經常用到的,用法也很簡單,只要學會一種,其他兩種都很容易上手,專案中用哪一種就要看自己的喜歡了。

最後

最近加班有點嚴重,所有文章更新慢了很多,同是打工貓,生活不易啊!

好了啦,【前端GitHub】的第 7 期內容已經講完了啦。

更多精彩內容請關注下方倉庫:

原文地址:https://github.com/FrontEndGitHub/FrontEndGitHub

平時如何發現好的開源專案,可以看看這兩篇文章:GitHub 上能挖礦的神仙技巧 - 如何發現優秀開源專案恕我直言,你可能連 GitHub 搜尋都不會用 - 如何精準搜尋的神仙技巧

可以加超級貓的 wx:CB834301747 ,一起閒聊 前端GitHub。

覺得有用 ?喜歡就收藏,順便點個贊吧,你的支援是我最大的鼓勵!

往期精文

你最想對超級貓說點啥?

相關文章