国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

記錄--一個純樣式花里胡哨的動態(tài)漸變背景塊

這篇具有很好參考價值的文章主要介紹了記錄--一個純樣式花里胡哨的動態(tài)漸變背景塊。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

這里給大家分享我在網(wǎng)上總結出來的一些知識,希望對大家有所幫助

記錄--一個純樣式花里胡哨的動態(tài)漸變背景塊

代碼片段

閑來無事寫了個有意思的東西,鼠標放在小方塊上會放大并擠壓周圍方塊,背景顏色會動態(tài)改變。這里沒有用一行 js 代碼,純樣式(Sass)實現(xiàn)。

<template>
  <div class="container">
    <div class="grid">
      <div class="item" v-for="item in 36"></div>
    </div>
  </div>
</template>

<script setup>

</script>

<style lang="scss" scoped>
.container {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;

  .grid {
    display: grid;
    height: 800px;
    width: 800px;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
    transition: all 0.3s;
    flex-shrink: 0;

    @for $i from 0 to 36 {
      .item:nth-child(#{$i + 1}) {
        background: hsl(10 * $i, 100%, 75%);
        animation-name: color-spin-#{$i};
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;

        @keyframes color-spin-#{$i} {
          @for $j from 0 through 36 {
            #{$j * 100 / 36}% {
              background: hsl(10 * ($i + $j), 100%, 75%);
            }
          }
        }
      }

      &:has(.item:nth-child(#{$i + 1}):hover) {
        $arr: 1fr 1fr 1fr 1fr 1fr 1fr;
        $columns: set-nth($arr, $i % 6 + 1, 2fr);
        $rows: set-nth($arr, floor($i / 6) + 1, 2fr);
        grid-template-columns: $columns;
        grid-template-rows: $rows;
      }
    }
  }
}
</style>

實現(xiàn)方式

下面只展示核心代碼,完整代碼請參照上方代碼片段。

繪制 Dom

先畫一個 6 x 6 的正方形,利用 v-for 循環(huán)出 dom 元素。當然也可以不用 Vue 語法,復制 36 行 item。

<div class="grid">
  <div class="item" v-for="item in 36"></div>
</div>

Grid 布局

這里切記不要使用?repeat(6, 1fr),會導致過渡失效。

?
.grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
}

添加背景色

每個小方塊都有自己的顏色,這里利用 Sass 循環(huán)來實現(xiàn)。通過 hsl 顏色函數(shù)輕松計算出低飽和度的彩色。色環(huán)一共 360°,36 個方塊依次遞增 10°,形成一個完美的色環(huán)。

@for $i from 0 to 36 {
  .item:nth-child(#{$i + 1}) {
    background: hsl(10 * $i, 100%, 75%);
  }
}

記錄--一個純樣式花里胡哨的動態(tài)漸變背景塊

懸浮動效

接著加入懸浮放大的效果,懸浮方塊橫縱變成 2fr 就能放大與擠壓周圍方塊。這里需要一點計算,定義一個 Sass 數(shù)組,通過除法與取余修改數(shù)組對應下標的變量。

@for $i from 0 to 36 {
  &:has(.item:nth-child(#{$i + 1}):hover) {
    $arr: 1fr 1fr 1fr 1fr 1fr 1fr;
    $columns: set-nth($arr, $i % 6 + 1, 2fr);
    $rows: set-nth($arr, floor($i / 6) + 1, 2fr);
    grid-template-columns: $columns;
    grid-template-rows: $rows;
  }
}

記錄--一個純樣式花里胡哨的動態(tài)漸變背景塊

顏色動畫

最后再加一個炫酷的顏色動畫,讓色環(huán)動起來。這里需要雙層嵌套循環(huán),每個小方塊都有自己的動畫。動畫過程拆分成 36 份,選擇線性過渡,顏色依然是連貫的色環(huán)。

@for $i from 0 to 36 {
  .item:nth-child(#{$i + 1}) {
    animation-name: color-spin-#{$i};
    animation-duration: 3s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;

    @keyframes color-spin-#{$i} {
      @for $j from 0 through 36 {
        #{$j * 100 / 36}% {
          background: hsl(10 * ($i + $j), 100%, 75%);
        }
      }
    }
  }
}

記錄--一個純樣式花里胡哨的動態(tài)漸變背景塊

總結

利用樣式實現(xiàn)的效果除了有成就感,也有代價,編譯完的 css 很大,有 72.5 KB。性能也不一定比用 js 高,權當玩玩。

本文轉(zhuǎn)載于:

https://juejin.cn/post/7298646156439044096

如果對您有所幫助,歡迎您點個關注,我會定時更新技術文檔,大家一起討論學習,一起進步。

?記錄--一個純樣式花里胡哨的動態(tài)漸變背景塊文章來源地址http://www.zghlxwxcb.cn/news/detail-746018.html

到了這里,關于記錄--一個純樣式花里胡哨的動態(tài)漸變背景塊的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Ef Core花里胡哨系列(9) 陰影屬性,有用還是沒用?

    Ef Core 中提供了一些有趣的實現(xiàn),例如陰影屬性!雖然大部分時候我還沒有遇到應用場景,但是不妨礙我們了解一下。 陰影屬性是EF Core中的一個特性,它允許你在模型中定義一個屬性,但是這個屬性并不在對應的CLR類中。陰影屬性只存在于EF Core的模型中,你可以在查詢和保

    2024年02月03日
    瀏覽(16)
  • 一款適合程序員的 Markdown 簡歷模版,拒絕花里胡哨

    一款適合程序員的 Markdown 簡歷模版,拒絕花里胡哨

    一款適合 IT 行業(yè)的 Markdown 簡約簡歷模版,拒絕花里胡哨 (1)安裝 Markdown 編輯軟件,推薦使用?Typora?編輯器(免費版 Typora 百度網(wǎng)盤下載點此下載)。 (2)下載本項目,修改?Resume.md?文件即可。 (3)將 style 文件夾下的所有的.css 復制到 Typora 的主題文件夾 (4)主題文件

    2024年02月06日
    瀏覽(22)
  • 如何在C語言中將文字顯示為花里胡哨的多種顏色

    如何在C語言中將文字顯示為花里胡哨的多種顏色

    ????????Hello大家好!最近剛剛做完C語言的課程設計。在評分標準中有一項是展示界面美觀整潔。學前端的我對花里胡哨的界面情有獨鐘,這里為大家簡單介紹三種改變字體顏色的方法。 ????????注意:本文中所有演示截圖均來自VS 2022。 目錄 ?改變C語言顯示界面字體

    2024年02月03日
    瀏覽(21)
  • MATLAB | 這些各種各樣的花里胡哨的折線填充圖咋畫

    MATLAB | 這些各種各樣的花里胡哨的折線填充圖咋畫

    這些各種各樣的花里胡哨的折線填充圖咋畫? 折線下面填充純色的話area函數(shù)很容易做到,但上面那些各種花里胡哨的填充圖就沒那么容易做到了,本期就來講講這些玩意都是咋畫的: 事先說明,為了繪圖好看本文絕大多數(shù)圖像都使用如下函數(shù)進行修飾: 二維填充所用到的數(shù)

    2023年04月16日
    瀏覽(27)
  • 【一步教學,一步到位】花里胡哨的3D翻頁卡片,隔壁產(chǎn)品都饞哭

    【一步教學,一步到位】花里胡哨的3D翻頁卡片,隔壁產(chǎn)品都饞哭

    with(cardShadowSizeFunc!!) { inParamMin = 0F inParamMax = 180F outParamMax = 50F outParamMin = 0F initValue = 10F } cardShadowDistanceFunc = CardShadowDistanceFunc() with(cardShadowDistanceFunc!!) { inParamMin = 0F inParamMax = 180F outParamMax = 50F outParamMin = 0F initValue = 10F } } 復制代碼 2.5.3 陰影變化 為了更好地模擬3D效果,卡片陰影

    2024年04月14日
    瀏覽(25)
  • 常用的CSS漸變樣式

    常用的CSS漸變樣式

    邊框漸變 方案1: 邊框漸變( 支持圓角) 效果如圖: 邊框漸變(border-image不支持圓角) 效果如圖: 加上屬性后clip-path: inset(0 round 24px);,支持圓角,但圓角的漸變色有缺失,如下圖: 字體顏色漸變 背景色漸變 background: linear-gradient(#6AF1D0 0%, #B6FFFA 40%, #B9EBFF 100%);

    2024年02月14日
    瀏覽(23)
  • css實現(xiàn)border漸變樣式

    css實現(xiàn)border漸變樣式

    項目中用到了border的漸變使用,雖然可以使用圖片,但不如代碼實現(xiàn)效果好,所以實現(xiàn)了border兩頭漸變的效果 效果如圖:

    2024年02月11日
    瀏覽(20)
  • wpf RadioButton自定義樣式 圓角/直角變化 背景色漸變

    wpf RadioButton自定義樣式 圓角/直角變化 背景色漸變

    樣式部分 xam ?根據(jù)? CommandParameter 的value不同,背景圓角的方向不同 效果如 ? ?

    2024年02月16日
    瀏覽(18)
  • Revit SDK:SpatialFieldGradient 在面上顯示漸變顏色(AVF)分析顯示樣式

    Revit SDK:SpatialFieldGradient 在面上顯示漸變顏色(AVF)分析顯示樣式

    這個例子使用Revit顯示樣式功能將面顯示成不同的顏色。分析顯示樣式參考官方文檔。 效果: 核心邏輯: 得到一個 SpatialFieldManager 拾取一系列的面: uiDoc.Selection.PickObjects(ObjectType.Face) 計算面上的 UV 值,以及對應的顏色值 應用到對應的面: sfm.UpdateSpatialFieldPrimitive 核心代碼

    2024年02月10日
    瀏覽(15)
  • 【Kotlin】使用 ProgressBar 的樣式屬性來實現(xiàn)圓形進度條,進度使用gradient漸變效果

    Android ProgressBar 默認提供了水平和圓形兩種進度條,水平進度條通過 ProgressBar 控件實現(xiàn),而圓形進度條通過 ProgressDialog 控件實現(xiàn)。如果想要將 ProgressBar 控件設置為圓形進度條,可以使用 ProgressBar 的樣式屬性來實現(xiàn)。 首先,在布局文件中添加一個 ProgressBar 控件,并設置其樣

    2024年02月10日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包