欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么用CSS實現(xiàn)常見的UI效果

這篇文章主要介紹“怎么用CSS實現(xiàn)常見的UI效果”,在日常操作中,相信很多人在怎么用CSS實現(xiàn)常見的UI效果問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用CSS實現(xiàn)常見的UI效果”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站建設、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元東川做網(wǎng)站,已為上家服務,為東川各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

覆蓋 - cover

@mixin cover($top: 0, $left: 0, $width: 100%, $height: 100%) {    position: absolute;    top: $top;    left: $left;    width: $width;    height: $height;  }

當你想在原先元素的基礎上再“復制”一個元素,并將其覆蓋在它身上時,你將會用到它

怎么用CSS實現(xiàn)常見的UI效果

demo地址:https://codepen.io/alphardex/pen/GRjEoBZ

嵌入 - inset

@mixin inset($inset: 0) {    position: absolute;    top: $inset;    left: $inset;    right: $inset;    bottom: $inset;  }

同樣地,這也是在原先元素基礎上復制出一個元素,只不過這個元素位置和原先的元素相同,大小會基于原先的元素而增減。

舉個例子,倘若你想創(chuàng)建多個半徑不同的同心圓,這個Mixin將會很有幫助

aqua.css

aqua.css是筆者開源的一個優(yōu)雅的、輕量級的CSS框架。里面有很多常用的組件以及常用的樣式類,用它來寫CSS體驗將會非常爽

在codepen上,筆者準備了一個aqua.css模版,大家可以用它來進行CSS的創(chuàng)作

常見UI效果

條紋效果

怎么用CSS實現(xiàn)常見的UI效果

2

首先,我們要抓住“邊框”這個詞,如何創(chuàng)作出一個特殊的邊框呢?如果一般的CSS屬性實現(xiàn)不了的話,可以考慮用偽元素來實現(xiàn),思路如下:在原先的元素下方創(chuàng)建一個有條紋背景的偽元素,并保證原先元素覆蓋住它就行,這樣就模擬了邊框的效果。

那么如何創(chuàng)建條紋背景呢?這里我們將使用repeating-linear-gradient來實現(xiàn)它

<div class="card w-80">    <div class="border-stripe rounded-xl">      Lorem ipsum...    </div>  </div>
.border-stripe {    --stripe-width: 0.5rem;    --stripe-deg: -45deg;    --stripe-color-1: var(--grey-color-1);    --stripe-offset-1: 2px;    --stripe-color-2: var(--skin-color-2);    --stripe-offset-2: 1rem;    --stripe-radius: 15px;    --stripe-inset: calc(var(--stripe-width) * -1);    &::before {      @include inset(var(--stripe-inset));      content: "";      z-index: -1;      background: repeating-linear-gradient(        var(--stripe-deg),        var(--stripe-color-1) 0 var(--stripe-offset-1),        var(--stripe-color-2) 0 var(--stripe-offset-2)      );      border-radius: var(--stripe-radius);    }  }

為了保證復用性,這里將其抽象成了border-stripe類,里面的值都可以通過CSS變量來動態(tài)調(diào)節(jié)

demo地址:https://codepen.io/alphardex/pen/VwKWvdG

光澤效果

怎么用CSS實現(xiàn)常見的UI效果

一看到光澤,相信你可能會想到一個關鍵角色&mdash;&mdash;徑向漸變,通過它,我們可以創(chuàng)作出放射狀的圖案,而光澤也恰好是放射狀的,再根據(jù)背景可以疊加的特性,光澤效果就能輕松實現(xiàn)了

<div class="flex flex-col space-y-4">    <span class="btn btn-primary btn-round inline-flex">      <span class="font-bold text-grad">Shine Button 1</span>    </span>    <span class="btn btn-info btn-round btn-depth inline-flex">      <span class="font-bold">Shine Button 2</span>    </span>  </div>
:root {    --blue-color-1: #08123d;    --gold-color-1: #dcb687;    --brown-color-1: #50301f;    --brown-color-2: #936237;    --gold-grad-1: radial-gradient(        circle at 50% 5%,        #{transparentize(white, 0.5)},        #eba262      ),      #eba262;    --gold-grad-2: linear-gradient(88deg, #e7924e 0%, #f8ffee 50%, #e7924e 100%);    --blue-grad-1: radial-gradient(        circle at 50% 5%,        #{transparentize(white, 0.8)},        #091344      ),      #091344;    --primary-color: var(--blue-grad-1);    --info-color: var(--gold-grad-1);  }  .btn {    &-primary {      border: 4px solid var(--gold-color-1);      span {        background-image: var(--gold-grad-2);      }    }    &-info {      color: var(--brown-color-1);      border: none;    }    &-depth {      box-shadow: 0 -5px 0 var(--brown-color-2);    }  }

demo地址:https://codepen.io/alphardex/details/vYXZNez

不規(guī)則形狀

怎么用CSS實現(xiàn)常見的UI效果

首先,讓我們先觀察一下上圖的緞帶形狀是由哪些基本形狀組成的:中間是一個矩形,矩形下方有2個三角形,左右2側(cè)各有一個被裁切過的矩形。一提裁切,就能想到clip-path這個屬性,于是問題也就很好解決了

<div class="ribbon">    Pure CSS Ribbon    <div class="block"></div>    <div class="block"></div>    <div class="block"></div>    <div class="block"></div>  </div>
.ribbon {    --ribbon-color-1: var(--yellow-color-1);    --ribbon-color-2: var(--yellow-color-2);    --ribbon-color-3: var(--yellow-color-3);    position: relative;    padding: 0.5rem 1rem;    color: white;    background: var(--ribbon-color-1);    .block {      &:nth-child(1),      &:nth-child(2) {        position: absolute;        bottom: -20%;        width: 20%;        height: 20%;        background: var(--ribbon-color-2);        clip-path: polygon(0 0, 100% 100%, 100% 0);      }     &:nth-child(1) {        left: 0;      }      &:nth-child(2) {        right: 0;        transform: scaleX(-1);     }      &:nth-child(3),      &:nth-child(4) {        position: absolute;        z-index: -1;        top: 20%;        width: 40%;        height: 100%;        background: var(--ribbon-color-3);        clip-path: polygon(0 0, 25% 50%, 0 100%, 100% 100%, 100% 0);      }      &:nth-child(3) {        left: -20%;      }      &:nth-child(4) {        right: -20%;        transform: scaleX(-1);      }    } }

注意到有一行代碼transform: scaleX(-1);,這起到了水平翻轉(zhuǎn)的作用,它可以防止再寫一遍clip-path

demo地址:https://codepen.io/alphardex/pen/OJRvaaR

浮雕效果

怎么用CSS實現(xiàn)常見的UI效果

通過仔細觀察,你會發(fā)現(xiàn)這是由2個同心的元素組成的,于是自然就想到了inset這個Mixin。

創(chuàng)建了2個同心元素后,就要想辦法來創(chuàng)建它們的浮雕光澤了。這里的光澤可以用box-shadow來實現(xiàn),通過疊加多重陰影,我們就能模擬出浮雕的效果了

<div class="px-6 py-2 text-xl embossed cursor-pointer" data-text="浮雕按鈕" style="--emboss-radius: 1.5rem">    浮雕按鈕  </div>
:root {    --red-color-1: #af2222;    --red-color-2: #c1423e;    --red-color-3: #c62a2a;    --red-color-4: #951110;    --green-color-1: #486433;    --green-color-2: #2b361a;    --red-grad-1: linear-gradient(      to right,      var(--red-color-1) 50%,      var(--red-color-2) 0    );  }  .embossed {    --emboss-radius: 1rem;    --emboss-out: 6px;    --emboss-out-minus: calc(var(--emboss-out) * -1);    --emboss-inset: 2px;    --emboss-inset-minus: calc(var(--emboss-inset) * -1);    --emboss-blur: 1px;    --emboss-bg-1: var(--red-color-3);    --emboss-bg-2: var(--green-color-1);    --emboss-color-1: white;    --emboss-color-2: var(--red-color-4);    --emboss-color-3: var(--green-color-2);    position: relative;    box-sizing: border-box;    white-space: nowrap;     &::before {      @include inset(var(--emboss-out-minus));      content: "";      background: var(--emboss-bg-1);      box-shadow: inset var(--emboss-inset-minus) var(--emboss-inset-minus)          var(--emboss-blur) var(--emboss-color-1),        inset var(--emboss-inset) var(--emboss-inset) var(--emboss-blur)         var(--emboss-color-2);      border-radius: calc(var(--emboss-radius) + var(--emboss-out));    }    &::after {      @include inset;      @include flex-center;      content: attr(data-text);      color: white;      font-weight: bold;      background: var(--emboss-bg-2);      box-shadow: inset var(--emboss-inset) var(--emboss-inset) var(--emboss-blur)          var(--emboss-color-1),        inset var(--emboss-inset-minus) var(--emboss-inset-minus)          var(--emboss-blur) var(--emboss-color-3);     border-radius: var(--emboss-radius);    }  }

demo地址:https://codepen.io/alphardex/pen/poEEERM?editors=0110

到此,關于“怎么用CSS實現(xiàn)常見的UI效果”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

網(wǎng)頁題目:怎么用CSS實現(xiàn)常見的UI效果
網(wǎng)站地址:http://chinadenli.net/article26/iecjcg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司做網(wǎng)站、企業(yè)網(wǎng)站制作、面包屑導航、ChatGPT、網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計