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

使用CSS和D3實(shí)現(xiàn)黑白交疊的動(dòng)畫效果的方法

使用CSS和D3實(shí)現(xiàn)黑白交疊的動(dòng)畫效果的方法?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了晉安免費(fèi)建站歡迎大家使用!

效果預(yù)覽

使用CSS和D3實(shí)現(xiàn)黑白交疊的動(dòng)畫效果的方法

代碼解讀

定義 dom,容器中包含 3 個(gè)子元素,每個(gè)子元素代表一個(gè)圓:

<div class="circles">
    <span></span>
    <span></span>
    <span></span>
</div>

居中顯示:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
}

定義容器尺寸:

.circles {
    width: 60vmin;
    height: 60vmin;
}

畫出容器中的1個(gè)圓:

.circles {
    position: relative;
}

.circles span {
    position: absolute;
    box-sizing: border-box;
    width: 50%;
    height: 50%;
    background-color: white;
    border-radius: 50%;
    left: 25%;
}

定義變量,畫出多個(gè)圓,每個(gè)圓圍繞著第 1 個(gè)圓的底部中點(diǎn)旋轉(zhuǎn),圍成一個(gè)更大的圓形:

.circles {
    --particles: 3;
}

.circles span {
    transform-origin: bottom center;
    --deg: calc(360deg / var(--particles) * (var(--n) - 1));
    transform: rotate(var(--deg));
}

.circles span:nth-child(1) {
    --n: 1;
}

.circles span:nth-child(2) {
    --n: 2;
}

.circles span:nth-child(3) {
    --n: 3;
}

為子元素增加動(dòng)畫效果:

.circles span {
    animation: rotating 5s ease-in-out infinite;
}

@keyframes rotating {
    0% {
        transform: rotate(0);
    }

    50% {
        transform: rotate(var(--deg)) translateY(0);
    }

    100% {
        transform: rotate(var(--deg)) translateY(100%) scale(2);
    }
}

設(shè)置子元素混色模式,使子元素間交疊的部分顯示成黑色:

.circles span {
    mix-blend-mode: difference;
}

為容器增加動(dòng)畫效果,抵銷子元素放大,使動(dòng)畫流暢銜接:

.circles {
    animation: zoom 5s linear infinite;
}

@keyframes zoom {
    to {
        transform: scale(0.5) translateY(-50%);
    }
}

接下來(lái)用 d3 批量處理 dom 元素和 css 變量。
引入 d3 庫(kù):

<script src="https://d3js.org/d3.v5.min.js"></script>

用 d3 為表示圓數(shù)量的變量賦值:

const COUNT_OF_PARTICLES = 30;

d3.select('.circles')
    .style('--particles', COUNT_OF_PARTICLES)

用 d3 生成 dom 元素:

d3.select('.circles')
    .style('--particles', COUNT_OF_PARTICLES)
    .selectAll('span')
    .data(d3.range(COUNT_OF_PARTICLES))
    .enter()
    .append('span');

用 d3 為表示子元素下標(biāo)的變量賦值:

d3.select('.circles')
    .style('--particles', COUNT_OF_PARTICLES)
    .selectAll('span')
    .data(d3.range(COUNT_OF_PARTICLES))
    .enter()
    .append('span')
    .style('--n', (d) => d + 1);

刪除掉 html 文件中的相關(guān) dom 元素和 css 文件中相關(guān)的 css 變量。

最后,把圓的數(shù)量調(diào)整為 30 個(gè):

const COUNT_OF_PARTICLES = 30;

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)使用CSS和D3實(shí)現(xiàn)黑白交疊的動(dòng)畫效果的方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:使用CSS和D3實(shí)現(xiàn)黑白交疊的動(dòng)畫效果的方法
本文URL:http://chinadenli.net/article12/jeiigc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航、微信小程序、網(wǎng)站改版、App開發(fā)、關(guān)鍵詞優(yōu)化

廣告

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

網(wǎng)站托管運(yùn)營(yíng)
白白操白白在线免费观看 | 精品少妇一区二区三区四区| 久久碰国产一区二区三区| 内用黄老外示儒术出处| 日韩欧美一区二区亚洲| av中文字幕一区二区三区在线| 国产白丝粉嫩av在线免费观看| 成人午夜激情在线免费观看| 果冻传媒在线观看免费高清| 日本理论片午夜在线观看| 国产高清视频一区不卡| 经典欧美熟女激情综合网 | 亚洲精品成人综合色在线| 亚洲天堂国产精品久久精品| 国产精品一区二区三区日韩av| 69老司机精品视频在线观看| 自拍偷拍福利视频在线观看| 精品丝袜一区二区三区性色| 日本不卡一区视频欧美| 人妻露脸一区二区三区| 91精品日本在线视频| 国产又粗又硬又长又爽的剧情| 亚洲国产黄色精品在线观看| 国产精品久久三级精品| 久久精品国产第一区二区三区| 香港国产三级久久精品三级| 国产精品不卡高清在线观看| 国产偷拍精品在线视频| 欧美成人国产精品高清| 正在播放玩弄漂亮少妇高潮 | 中文字幕不卡欧美在线| 空之色水之色在线播放| 久久青青草原中文字幕| 国产又色又爽又黄又大| 九九九热视频最新在线| 国产日韩久久精品一区| 免费在线成人午夜视频| 欧美丝袜诱惑一区二区| 欧美午夜国产在线观看| 国产午夜在线精品视频| 欧美日韩精品一区免费|