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

CSS 之 跑馬燈邊框

這篇具有很好參考價值的文章主要介紹了CSS 之 跑馬燈邊框。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、簡介

? 之前有做過漸變色邊框的樣式,然后某天刷抖??,看到某個老師在講跑馬燈的樣式效果,于是就自己嘗試實現(xiàn)一下跑馬燈樣式的邊框,雖然這種樣式并不常見(基本沒卵用),其使用場景我至今沒想到,但是它足夠花里胡哨,玩的就是花活。CSS才是前端最難精通的技術(shù),也是前端對于后端最大的技術(shù)難點。以后可不敢在簡歷上寫精通、熟練CSS了,最多寫個見過CSS就可以了。

? 經(jīng)過一番實踐,我實現(xiàn)了兩種形態(tài)的跑馬燈樣式邊框,其效果如下圖所示。其主要使用的CSS屬性有:overflow、position、transform、 animation、@keyframes以及::after::before等等。

案例效果:

CSS 之 跑馬燈邊框,花樣CSS,css,前端

二、具體代碼

1、首尾不相連的跑馬燈邊框
實現(xiàn)思路:

? border屬性本身肯定是實現(xiàn)不了跑馬燈的效果,因為其不能變化。因此我們就要想別的辦法來實現(xiàn)邊框的樣式。實現(xiàn)方法:

? ① 利用padding屬性使元素的內(nèi)容區(qū)域與最外層之間形成一個間隔。

? ② 利用偽元素::after position,將該偽元素模擬為元素的內(nèi)容區(qū)域,并設(shè)置背景顏色和圓角等樣式,此時我們就實現(xiàn)了一個有透明邊框的元素了,padding區(qū)域就是邊框區(qū)域。

? ③ 利用偽元素::before定義一個具有漸變色背景的偽元素,然后通過動畫使其圍繞元素的中心點旋轉(zhuǎn)。該偽元素的漸變背景決定了跑馬燈邊框的顏色。

? ④設(shè)置元素的overflow: hidden;,隱藏偽元素::before在旋轉(zhuǎn)時,超出元素的部分,并通過設(shè)置層級,使偽元素::after 覆蓋在偽元素::before之上。這樣旋轉(zhuǎn)的偽元素::before就只能在padding區(qū)域內(nèi)顯示出來,也就是將其模擬成邊框的效果,再加上旋轉(zhuǎn)動畫,從而顯示出跑馬燈邊框的效果。

具體代碼:
<style>
    /* 定義一個全局的css變量 該寬度決定了邊框的寬度 */
    :root {
      --border-width: 5px;
    }

    /* 定義盒子區(qū)域的寬高 包含邊框所占區(qū)域 */
    .d1 {
      position: relative;
      width: 200px;
      height: 60px;
      /* 為了讓內(nèi)容區(qū)域不被邊框覆蓋 設(shè)置等寬的padding */
      padding: var(--border-width);
      margin: 200px auto;
      /* 設(shè)置元素圓角 */
      border-radius: 10px;
      text-align: center;
      line-height: 60px;
      color: #333;
      /* 隱藏超出的部分 這很重要 */
      overflow: hidden;
    }

    /* 利用偽元素::after 定義盒子內(nèi)容區(qū)域 */
    .d1::after {
      content: '';
      position: absolute;
      /* 使用css變量定位內(nèi)容區(qū)域位置 */
      left: var(--border-width);
      top: var(--border-width);
      /* 根據(jù)css變量設(shè)置內(nèi)容區(qū)域的寬高 */
      width: calc(100% - var(--border-width) * 2);
      height: calc(100% - var(--border-width) * 2);
      background: #ccc;
      /* 設(shè)置元素層級小于父級元素 使父元素的內(nèi)容能夠顯示在該內(nèi)容區(qū)域之上 */
      z-index: -1;
      /* 設(shè)置圓角 要比父元素的圓角小一些 */
      border-radius: 6px;
    }

    /* 利用偽元素::before 定義盒子邊框區(qū)域 */
    .d1::before {
      content: '';
      position: absolute;
      /* 利用定位將元素的左上角定位到父元素的中心 */
      left: 50%;
      top: 50%;
      /* 設(shè)置該元素的寬高 要大于父元素的寬高 */
      width: 220px;
      height: 220px;
      /* 設(shè)置該元素的漸變背景 */
      background: linear-gradient(90deg, #000, yellow 20%);
      /* 設(shè)置該元素的層級 要小于用偽元素::after 定義的盒子內(nèi)容區(qū)域 */
      z-index: -2;
      /* 利用動畫旋轉(zhuǎn)該元素 */
      animation: rotate1 1.3s linear infinite;
      /* 定義旋轉(zhuǎn)的圓心為元素的左上角 */
      transform-origin: 0 0;
    }

    /* 聲明旋轉(zhuǎn)動畫 */
    @keyframes rotate1 {
      0% {
        transform: rotate(0deg);
      }

      100% {
        transform: rotate(360deg);
      }
    }
</style>

<!-- 跑馬燈邊框的根元素 -->
<div class="d1">跑馬燈邊框1</div>
頁面效果:

CSS 之 跑馬燈邊框,花樣CSS,css,前端

為了幫助理解,去除掉overflow: hidden屬性的效果圖:

CSS 之 跑馬燈邊框,花樣CSS,css,前端

2、首尾相連的跑馬燈邊框
實現(xiàn)思路:

? 其實該樣式的實現(xiàn)思路與前面的基本相同,只不過是修改了邊框元素的位置和旋轉(zhuǎn)的中心點,使其能夠在旋轉(zhuǎn)動的過程中,覆蓋邊框的所有區(qū)域,從而使跑馬燈首尾相連。實現(xiàn)方法:

? ① 利用padding屬性使元素的內(nèi)容區(qū)域與最外層之間形成一個間隔。

? ② 利用偽元素::after position,將該偽元素模擬為元素的內(nèi)容區(qū)域,并設(shè)置背景顏色和圓角等樣式,此時我們就實現(xiàn)了一個有透明邊框的元素了,padding區(qū)域就是邊框區(qū)域。

? ③ 利用偽元素::before定義一個具有漸變色背景的偽元素,先通過positiontransform使該偽元素的中心點與根元素的中心點對齊,然后通過動畫使其圍繞元素的中心點旋轉(zhuǎn)。同時該偽元素的漸變背景決定了跑馬燈邊框的顏色。

? ④設(shè)置元素的overflow: hidden;,隱藏偽元素::before在旋轉(zhuǎn)時,超出元素的部分,并通過設(shè)置層級,使偽元素::after 覆蓋在偽元素::before之上。這樣旋轉(zhuǎn)的偽元素::before就只能在padding區(qū)域內(nèi)顯示出來,也就是將其模擬成邊框的效果,再加上旋轉(zhuǎn)動畫,從而顯示出跑馬燈邊框的效果。

具體代碼:
<style>
		/* 定義一個全局的css變量 該寬度決定了邊框的寬度 */
    :root {
      --border-width: 5px;
    }
  	    /* 定義盒子區(qū)域的寬高 包含邊框所占區(qū)域 */
    .d2 {
      position: relative;
      width: 200px;
      height: 60px;
      /* 為了讓內(nèi)容區(qū)域不被邊框覆蓋 設(shè)置等寬的padding */
      padding: var(--border-width);
      margin: 200px auto;
      /* 設(shè)置元素圓角 */
      border-radius: 10px;
      text-align: center;
      line-height: 60px;
      color: #333;
      /* 隱藏超出的部分 這很重要 */
      overflow: hidden;
    }

    /* 利用偽元素::after 定義盒子內(nèi)容區(qū)域 */
    .d2::after {
      content: '';
      position: absolute;
      /* 使用css變量定位內(nèi)容區(qū)域位置 */
      left: var(--border-width);
      top: var(--border-width);
      /* 根據(jù)css變量設(shè)置內(nèi)容區(qū)域的寬高 */
      width: calc(100% - var(--border-width) * 2);
      height: calc(100% - var(--border-width) * 2);
      background: #ccc;
      /* 設(shè)置元素層級小于父級元素 使父元素的內(nèi)容能夠顯示在該內(nèi)容區(qū)域之上 */
      z-index: -1;
      /* 設(shè)置圓角 要比父元素的圓角小一些 */
      border-radius: 6px;
    }

    /* 利用偽元素::before 定義盒子邊框區(qū)域 */
    .d2::before {
      content: '';
      position: absolute;
      /* 利用定位和位移將元素的中心點定位到父元素的中心點 */
      left: 50%;
      top: 50%;
      transform: translateY(-50%) translateX(-50%);
      width: 220px;
      height: 220px;
      /* 設(shè)置該元素的漸變背景 該背景決定了跑馬燈邊框的顏色 */
      background: linear-gradient(-45deg, #000, yellow 60%);
      /* 設(shè)置該元素的層級 要小于用偽元素::after 定義的盒子內(nèi)容區(qū)域 */
      z-index: -2;
      /* 利用動畫旋轉(zhuǎn)該元素 */
      animation: rotate2 1.5s linear infinite;
      /* 設(shè)置旋轉(zhuǎn)的圓心為元素的中心點 */
      transform-origin: 50% 50%;
    }

    /* 聲明旋轉(zhuǎn)動畫 旋轉(zhuǎn)的同時 保持元素位置不變 */
    @keyframes rotate2 {
      0% {
        transform: translateY(-50%) translateX(-50%) rotate(0deg);
      }

      100% {
        transform: translateY(-50%) translateX(-50%) rotate(360deg);
      }
    }
</style>

<!-- 跑馬燈邊框的根元素 -->
<div class="d2">跑馬燈邊框2</div>
頁面效果:

CSS 之 跑馬燈邊框,花樣CSS,css,前端

為了幫助理解,去除掉overflow: hidden屬性的效果圖:

CSS 之 跑馬燈邊框,花樣CSS,css,前端文章來源地址http://www.zghlxwxcb.cn/news/detail-799315.html

到了這里,關(guān)于CSS 之 跑馬燈邊框的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • CSS中如何實現(xiàn)文字跑馬燈效果?

    CSS中如何實現(xiàn)文字跑馬燈效果?

    前端入門之旅:探索Web開發(fā)的奇妙世界 歡迎來到前端入門之旅!感興趣的可以訂閱本專欄哦!這個專欄是為那些對Web開發(fā)感興趣、剛剛踏入前端領(lǐng)域的朋友們量身打造的。無論你是完全的新手還是有一些基礎(chǔ)的開發(fā)者,這里都將為你提供一個系統(tǒng)而又親切的學(xué)習(xí)平臺。在這個

    2024年02月09日
    瀏覽(103)
  • 前端Vue自定義精美上下滾動通告欄組件 常用于展示公告信息 上下滾動跑馬燈 上下滾動廣播

    前端Vue自定義精美上下滾動通告欄組件 常用于展示公告信息 上下滾動跑馬燈 上下滾動廣播

    隨著技術(shù)的發(fā)展,開發(fā)的復(fù)雜度也越來越高,傳統(tǒng)開發(fā)方式將一個系統(tǒng)做成了整塊應(yīng)用,經(jīng)常出現(xiàn)的情況就是一個小小的改動或者一個小功能的增加可能會引起整體邏輯的修改,造成牽一發(fā)而動全身。通過組件化開發(fā),可以有效實現(xiàn)單獨開發(fā),單獨維護,而且他們之間可以隨

    2024年02月09日
    瀏覽(100)
  • 單片機(3)跑馬燈,按鈕控制的跑馬燈(2種編程)

    單片機(3)跑馬燈,按鈕控制的跑馬燈(2種編程)

    ?先上電路圖(圖示的是高電平點亮的跑馬燈) ?這個是程序截圖(keil5):我的建議是是先自己打一遍,邊打邊試著理解程序的意思。 下面的是沒有注釋的代碼 下一個是另外一種編程思路 ?

    2024年02月11日
    瀏覽(27)
  • 3.跑馬燈

    3.跑馬燈

    推挽模式輸出:因為LED0和LED1陽極都是3.3V,需要將陰極設(shè)置為低電平才可以點亮LED; 操作io口時,必須引入源文件和頭文件; 關(guān)于時鐘的文件存放在rcc中; void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 作用:初始化一個或多個io口(同一組)的工作方式和速度, 該函數(shù)

    2024年02月10日
    瀏覽(23)
  • Android --- 跑馬燈效果

    Android --- 跑馬燈效果

    跑馬燈效果主要使用的控件為TextView,其中涉及的幾個標(biāo)簽如下所示: android:ellipsize If set, causes words that are longer than the view is wide to be ellipsized instead of broken in the middle. You will often also want to set scrollHorizontally or singleLine as well so that the text as a whole is also constrained to a single line in

    2023年04月08日
    瀏覽(25)
  • 跑馬燈實驗

    跑馬燈實驗

    ???????? 1.熟悉龍芯實驗開發(fā)板、熟悉 VIVADO 的編譯環(huán)境及操作流程。 ????????2.掌握 FPGA 編程入門知識、利用門級方法實現(xiàn)簡單邏輯電路。 ????????3.繼續(xù)學(xué)習(xí) Verilog HDL 語法、掌握跑馬燈的設(shè)計、熟悉調(diào)試過程。 ???????? 本次實驗用 Verilog HDL 語言來描述 6 個不

    2024年02月04日
    瀏覽(27)
  • 跑馬燈實驗(stm32)

    跑馬燈實驗(stm32)

    說明:以下內(nèi)容參考正點原子的相關(guān)資料 這里使用的是位帶操作來實現(xiàn)操作某個 IO 口的 1 個位 相應(yīng)的庫函數(shù)操作代碼。 BSRR:端口位設(shè)置/清除寄存器 BRR:端口位清除寄存器 可以看到紅綠燈交錯閃爍

    2024年02月13日
    瀏覽(25)
  • Android 實現(xiàn)跑馬燈效果

    Android中實現(xiàn)跑馬燈效果有多種方式,本篇簡單介紹下: 1: TextView屬性實現(xiàn) 這里需要注意下: 需要限制textview的寬度,不能設(shè)置為wrap_content 啟動跑馬燈效果需要獲取焦點requestFocus(). 2: 代碼實現(xiàn) 3: 自定義 view實現(xiàn) 這里可以使用動畫的效果實現(xiàn). 4: 實現(xiàn)豎直效果的跑馬燈

    2024年01月18日
    瀏覽(26)
  • Vue跑馬燈簡單案列

    Vue跑馬燈簡單案列

    套在自己的vue模板里面即可 content是顯示的內(nèi)容,shouldMove是否滾動(如果大于了文本框才滾動,否則禁止不懂),showResult是否顯示滾動條 效果

    2024年02月22日
    瀏覽(24)
  • uni小程序 跑馬燈效果

    寫在前面 前幾天幫一個朋友咋小程序上加一個類似于跑馬燈的效果,本自己手寫了一個。(代碼和截圖都在下方) 效果展示 等我截圖~~~ 代碼展示(布局代碼) 主要就是圖片css哪里加了一個“ flex-shrink: 0; ”,因為只是本地的一個功能,所以我就圖片數(shù)據(jù)就寫死了,需要的自

    2024年02月12日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包