国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

是否可以為 SVG 路徑新增漸層?
P粉402806175
P粉402806175 2023-10-18 14:55:02
0
2
809

我想在我的網(wǎng)站上放置一個(gè)由腳本觸發(fā)的簡(jiǎn)單載入指示器。它應(yīng)該是一個(gè)簡(jiǎn)單的圓弧,有漸變並且在使用者等待時(shí)旋轉(zhuǎn)。我還沒(méi)有嘗試過(guò)動(dòng)畫(huà)部分,但現(xiàn)在陷入了靜態(tài)樣式。這是我到目前為止所得到的:


#
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg"
        width="100" height="100">
        <defs>
            <linearGradient id="grad1">
                <stop offset="0%" stop-color="red"/>
                <stop offset="100%" stop-color="red" stop-opacity="0" />
            </linearGradient>
        </defs>
        <path d="M50 10  A40 40 0 1 0 90 50"
            stroke="url(#grad1)" stroke-width="10" fill="transparent"/>
    </svg>


#

它從上緣逆時(shí)針到右邊緣(270°)繪製圓弧,但漸變是錯(cuò)誤的。圓弧描邊的最終影像在螢?zāi)豢臻g中從左到右著色,而不是沿著路徑使起點(diǎn)(頂部邊緣,0°)不透明而終點(diǎn)(右邊緣,270°)透明。

如何讓漸層遵循我的弧線路徑?

P粉402806175
P粉402806175

全部回覆(2)
P粉482108310

邁克·博斯托克 (Mike Bostock) 找到了一個(gè)方法,儘管這並不容易: https://bl.ocks.org/mbostock/4163057

基本上,此技術(shù)使用getPointAtLength 要將筆劃分割成許多短筆劃,請(qǐng)為每個(gè)筆劃指定插值顏色停止點(diǎn),然後對(duì)這些停止點(diǎn)之間的每個(gè)短筆劃應(yīng)用漸層。

如果您能夠應(yīng)付挑戰(zhàn),祝您好運(yùn);)

編輯(2019 年 7 月 3 日):

現(xiàn)在有一個(gè)函式庫(kù)可以幫助您準(zhǔn)確地完成您正在尋找的事情。 不需要使用 D3,但如果您願(yuàn)意,也可以使用。 這是有關(guān) Medium 的教學(xué).

P粉571233520

CSS 圖像模組 - 第 4 級(jí)引入了 conic-gradient 。根據(jù) MDN,支援 在除 IE 之外的所有主要瀏覽器中。

儘管從技術(shù)上講,它不是沿著路徑的漸變,但由於您的路徑是圓形,因此可以通過(guò)以下方式實(shí)現(xiàn)所需的結(jié)果:

.loader {
  --size: 7.5rem;
  --stroke-size: .5rem;
  --diff: calc(calc(var(--size)/2) - var(--stroke-size));
  background-image: conic-gradient(transparent 25%, red);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  -webkit-mask:radial-gradient(circle var(--diff),transparent 98%,#fff 100%);
          mask:radial-gradient(circle var(--diff),transparent 98%,#fff 100%);
  animation: rotate 1.2s linear infinite;
  margin: 0 auto;
}
@keyframes rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
body {
  background: #f9fcfc url(https://picsum.photos/id/22/1323/880) 100% /cover;
  margin: 0;
  min-height: 100vh;
  padding-top: 2.5rem;
}
 * { box-sizing: border-box; }
<div class="loader"></div>
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板