真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在CSS中利用radial-gradient實(shí)現(xiàn)一個(gè)優(yōu)惠券樣式

怎么在CSS中利用radial-gradient 實(shí)現(xiàn)一個(gè)優(yōu)惠券樣式?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、王屋網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為王屋等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

繪制基本樣式


  
  滿 100 減 30
/* scss */ .voucher {   width: 600px;   height: 200px;   display: flex;   .left {     width: 30%;     height: 100%;     background-color: #f76260;   }   .right {     height: 100%;     border: 1px solid #ddd;     flex: 1;     display: flex;     align-items: center;     justify-content: center;     font-size: 40px;   } }

鋸齒實(shí)現(xiàn)剖析

鋸齒部分其實(shí)可以看成是十個(gè)如下所示的圖像片段拼接起來的。每個(gè)片段的寬為鋸齒的半徑 6px,高為 20px。所以我們只需要畫出該片段,剩下的重復(fù)填充就好了。

怎么在CSS中利用radial-gradient 實(shí)現(xiàn)一個(gè)優(yōu)惠券樣式 
 

我們把鋸齒的樣式加在 voucher 的偽元素上面就大功告成了:

&::before {
  content: '';
  position: absolute;
  height: 100%;
  width: 6px;
  left: 0;
  top: 0;
  background-image: radial-gradient(circle at 0px 10px, white 6px, #f76260 6px);
  background-size: 6px 20px;
}

這里的核心代碼是 background-image: radial-gradient(circle at 0px 10px, white 6px, #f76260 6px); 。它其實(shí)是下面這種寫法的簡(jiǎn)寫方式: background-image: radial-gradient(circle at 0px 10px, white 0, white 6px, #f76260 6px, #676260 100%); ,表示從 (0px, 10px) 的位置開始進(jìn)行徑向漸變,漸變的形狀為圓形,從 0 到 6px 由 white 漸變成 white ,也就是純色; 6px 到圖形邊緣由 #f76260 漸變成 #f76260 ,也是純色。

為了重用我們的鋸齒樣式代碼,我們可以定義一個(gè) scss 的 mixin:

/**
  * 為了實(shí)現(xiàn)比較好的效果,最好確保:
  * 1. $height 可以被 $num 整除
  * 2. 2 * $radius < $height / $num
  */
@mixin leftSawtooth($height, $num, $radius, $color, $bgColor) {
  $segmentHeight: $height / $num;
  height: $height;
  &::before {
    content: '';
    position: absolute;
    height: 100%;
    width: $radius;
    left: 0;
    top: 0;
    background-image:
      radial-gradient(circle at 0px $segmentHeight / 2, $bgColor $radius, $color $radius);
    background-size: $radius $segmentHeight;
  }
}

這樣,用起來就很方便了:

@include leftSawtooth(600px, 10, 6px, #f76260, white);

怎么在CSS中利用radial-gradient 實(shí)現(xiàn)一個(gè)優(yōu)惠券樣式 

升級(jí)版

升級(jí)版的鋸齒顏色和左邊部分的背景顏色不一致,實(shí)現(xiàn)上會(huì)有些差異,不過思路還是一致的。

首先還是繪制出基本的樣式:

.voucher {
  width: 600px;
  height: 200px;
  margin: 20px auto;
  display: flex;
  position: relative;
  border: 1px solid #ddd;
  .left {
    width: 30%;
    height: 100%;
    border-right: 1px dashed #ddd;
  }

  .right {
    height: 100%;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
  }
}

然后,繪制鋸齒部分。注意,這里圓的半徑是空白部分5px加上1px的邊框,所以背景片段繪制需要額外加一段漸變:

background-image: radial-gradient(circle at 0px 10px,
  white 5px, /* 圓內(nèi)的顏色是背景色 */
  #ddd 5px,
  #ddd 6px,
  transparent 6px /* 圓外的顏色是透明色 */
);

注意到我們把圓內(nèi)的顏色設(shè)置為背景色,圓外的顏色設(shè)置為透明色,為什么要這樣后面會(huì)有說明?,F(xiàn)在的效果離目標(biāo)已經(jīng)越來越近了,不過還是有點(diǎn)出入:

怎么在CSS中利用radial-gradient 實(shí)現(xiàn)一個(gè)優(yōu)惠券樣式 
 

解決辦法是把偽元素往左移動(dòng)一個(gè)邊框大小的位置。這樣半圓左邊的線會(huì)被圓內(nèi)的顏色覆蓋,而其他地方因?yàn)槭峭该魃跃€會(huì)保留(這就是為什么要把圓內(nèi)的顏色設(shè)置為背景色,圓外的顏色設(shè)置為透明色的原因了)。

完整的 mixin 如下所示:

@mixin leftSawtoothBorder($height, $num, $radius, $bgColor, $borderColor, $borderWidth) {
  $segmentHeight: $height / $num;
  $extendedRadius: $radius + $borderWidth;
  height: $height;
  &::before {
    content: '';
    position: absolute;
    height: 100%;
    width: $extendedRadius;
    left: -$borderWidth;
    top: 0;
    background-image: radial-gradient(circle at 0px $segmentHeight / 2,
      $bgColor $radius,
      $borderColor $radius,
      $borderColor $extendedRadius,
      transparent $extendedRadius
    );
    background-size: $extendedRadius $segmentHeight;
  }
}

css的基本語法是什么

css的基本語法是:1、css規(guī)則由選擇器和一條或多條聲明兩個(gè)部分構(gòu)成;2、選擇器通常是需要改變樣式的HTML元素;3、每條聲明由一個(gè)屬性和一個(gè)值組成;4、屬性和屬性值被冒號(hào)分隔開。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


分享名稱:怎么在CSS中利用radial-gradient實(shí)現(xiàn)一個(gè)優(yōu)惠券樣式
URL地址:http://weahome.cn/article/psjsdc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部