在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 網頁設計教程 > 詳細頁面

如何使用CSS在線字體與D3完成Google的信息圖

如何使用CSS在線字體與D3完成Google的信息圖

更新時間:2025-11-26 文章作者:未知 信息來源:網絡 閱讀次數:

網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立...
網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。
本篇文章給大家帶來的內容是如何使用CSS在線字體和D3實現Google的信息圖 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

效果預覽

3478026120-5b93aa0de1a80_articlex.png

源代碼下載

https://github.com/comehope/front-end-daily-challenges

代碼解讀

定義 dom,只有 1 個空元素,其中不包含任何文本:

<div class="logo"></div>

引入字體文件,Product Sans 是 Google 專門為品牌推廣創建的無襯線字體:

@import url("https://fonts.googleapis.com/css?family=Product+Sans");

居中顯示:

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

用偽元素制作 logo,注意 content 的內容不是 "Google",而是 "google_logo"

.logo::before {
    content: 'google_logo';
    font-size: 10vw;
}

設置字體,采用剛才引入的在線字體,剛才頁面上的 "google_logo" 文字被替換成了單色的 logo 圖案:

body {
    font-family: 'product sans';
}

定義顏色變量:

:root {
    --blue: #4285f4;
    --red: #ea4335;
    --yellow: #fbbc05;
    --green: #34a853;
}

設置文字遮罩效果,為文字上色:

.logo::before {
    background-image: linear-gradient(
        to right,
        var(--blue) 0%, var(--blue) 26.5%, 
        var(--red) 26.5%, var(--red) 43.5%, 
        var(--yellow) 43.5%, var(--yellow) 61.5%,
        var(--blue) 61.5%, var(--blue) 78.5%, 
        var(--green) 78.5%, var(--green) 84.5%, 
        var(--red) 84.5%, var(--red) 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

至此,Google logo 制作完成,接下來制作 googol 信息,說明 Google 的名字來源于含義是 1 后面跟 100 個零的大數的單詞 googol。

在 dom 中添加一行說明文本和容納數字的容器,容器中包含 5 個數字,在每個數字的內聯樣式中指定了顏色變量:

<p class="desc">The name of Google originated from a misspelling of the word "googol", the number 1 followed by 100 zeros.</p> 
<p class="zeros">
    <span style="--c:var(--blue);">1</span>
    <span style="--c:var(--red);">0</span>
    <span style="--c:var(--yellow);">0</span>
    <span style="--c:var(--blue);">0</span>
    <span style="--c:var(--green);">0</span>
</p>

設置說明文本的樣式:

.desc {
    font-size: 1.5vw;
    font-weight: normal;
    color: dimgray;
    margin-top: 2em;
}

設置數字的樣式:

.zeros {
    font-size: 3vw;
    font-weight: bold;
    margin-top: 0.2em;
    text-align: center;
    width: 25.5em;
    word-wrap: break-word;
}

為數字上色:

.zeros span {
    color: var(--c);
}

微調數字 "1" 的邊距,讓它不要和后面的 "0" 靠得太緊:

.zeros span:nth-child(1) {
    margin-right: 0.2em;
}

至此,靜態布局完成,接下來用 d3 批量處理數字。

引入 d3 庫,并刪除掉 dom 中 .zeros 的數字子元素:

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

最終我們會在頁面上顯示 100 個 0,每個 0 的顏色都不同,并且為了美觀,相鄰數字的顏色也要不同。
所以,先定義一個獲取顏色的函數,它可以從 Google logo 配色的 4 種顏色中取任意一個顏色,并且有一個表示被排除顏色的參數,當指定的此參數時,就從 4 個可選的顏色中去掉這個顏色,然后從剩下的 3 個顏色中隨機取一個顏色:

function getColor(excludedColor) {
    let colors = new Set(['blue', 'red', 'yellow', 'green'])
    colors.delete(excludedColor)
    return Array.from(colors)[Math.floor(d3.randomUniform(0, colors.size)())]
}

然后,定義 2 個常量,ZEROS 是存儲 100 個 0 的數組,ONE 是存儲數字 1 的對象,它有 2 個屬性,number 表示它的數值是 1,color 表示它的顏色是藍色:

const ZEROS = d3.range(100).map(x=>0)
const ONE = {number: 1, color: 'blue'}

接下來,通過用 reduce 函數遍歷 ZEROS 數組,返回一個新的數組 numbers,它有 101 個元素(1 以及跟隨它的 100 個 0),每個元素都是 1 個包含 numbercolor 屬性的對象:

let numbers = ZEROS.reduce(function (numberObjects, d) {
    numberObjects.push({
        number: d,
        color: getColor(numberObjects[numberObjects.length - 1].color)
    })
    return numberObjects
}, [ONE])

然后,以 numbers 為數據源,用 d3 批量創建出 dom 元素,并且把顏色信息寫在行內樣式中:

d3.select('.zeros')
    .selectAll('span')
    .data(numberObjects)
    .enter()
    .append('span')
    .style('--c', (d)=>`var(--${d.color})`)
    .text((d)=>d.number)

最后,微調一下內容的邊距,使整個內容居中:

.logo {
    margin-top: -10vh;
}

大功告成!

相關推薦:

如何使用純CSS實現條紋錯覺的動畫效果(附源碼)

CSS3文字特效屬性text-shadow的介紹,實例講解火焰文字效果

以上就是如何使用CSS在線字體和D3實現Google的信息圖的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 青草青青在线视频| 欧美少妇性生活视频| 四虎4hu永久免费入口| 亚洲第一页在线视频| 国产91沈先生在线播放| 国产一线二线三线女| 黄色片视频在线播放| 最新天堂中文在线| 最近免费观看高清韩国日本大全| 欧美极品少妇无套实战| 日韩中文字幕二区| 国产精品久久久久久久99| 国产91在线亚洲| 毛片一区二区三区四区| 在线a免费观看| 国产九九九九九| 日日噜噜夜夜狠狠| 国产精品国三级国产av| 91在线视频观看免费| 老司机午夜免费福利视频| 黄色影院一级片| 天天做天天爱天天高潮| 成人小视频在线看| 久久久天堂国产精品| 国产情侣av自拍| 人妻互换免费中文字幕| 日韩精品你懂的| 日本www在线视频| 中文字幕中文在线| 成人免费在线小视频| 超碰在线免费av| 五月婷婷深爱五月| 妞干网在线观看视频| 国产大片一区二区三区| 黄色一级一级片| 青青青青草视频| 日本一区二区免费高清视频| 91在线视频观看免费| 69sex久久精品国产麻豆| 爱爱爱视频网站| 亚洲va综合va国产va中文| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 波多野结衣国产精品| 37pao成人国产永久免费视频| 999久久欧美人妻一区二区| 午夜国产福利在线观看| 欧美伦理片在线看| 日本精品一区二区三区四区| 青青草成人免费在线视频| 日本a级片在线观看| avove在线观看| 国产三级中文字幕| 精品久久免费观看| 一区二区三区国产好的精华液| 一区二区三区 日韩| 国产日韩成人内射视频 | 国产精品三级一区二区| 天堂中文av在线| jizz18女人| 亚洲第一狼人区| 91小视频网站| 亚洲精品久久久久久宅男| 麻豆三级在线观看| 午夜剧场在线免费观看| 国产精品久久久久久9999| 天天综合网久久| 亚洲涩涩在线观看| 精品久久免费观看| 三级在线免费观看| 97超碰在线人人| 春日野结衣av| 国产成人手机视频| 国产在线观看中文字幕| 裸体大乳女做爰69| 久久国产精品网| 国产精品亚洲a| 亚洲欧洲日本精品| 中国 免费 av| 欧美一区二区激情| 国产精品69页| 玖玖爱视频在线| av 日韩 人妻 黑人 综合 无码| 青青青青草视频| 精品久久久久久无码国产| 久久久久久久久久一区| 超碰97在线看| 粗暴91大变态调教| 亚洲欧美一区二区三区不卡| 国产主播自拍av| 中文字幕一区二区三区四区在线视频| 日韩精品视频一二三| 国产尤物av一区二区三区| 午夜精品久久久久久久无码| 亚洲老女人av| 女人被男人躁得好爽免费视频| 欧美 国产 综合| 日韩欧美中文视频| 毛片av免费在线观看| 三年中文在线观看免费大全中国| 91黄色在线看| 91欧美视频在线| 拔插拔插海外华人免费| 国产精品自在自线| 欧美亚洲国产成人| 麻豆一区二区三区在线观看| 麻豆传传媒久久久爱| www.亚洲成人网| 九九热精品国产| 欧美精品成人网| 国产a级片网站| 韩国黄色一级大片| 国产无遮挡猛进猛出免费软件| 国产69精品久久久久999小说| 三级黄色片免费看| 一区二区成人网| 男人天堂网视频| 美脚丝袜脚交一区二区| 玖玖精品在线视频| 国产5g成人5g天天爽| 在线观看免费成人av| 情侣黄网站免费看| 亚洲熟妇无码一区二区三区| 亚洲一区 在线播放| 亚洲欧美天堂在线| 亚洲一二三av| 中文字幕 欧美日韩| 91小视频网站| 91制片厂毛片| 亚洲 欧美 日韩系列| 乱子伦视频在线看| 国产三级三级三级看三级| 免费欧美一级视频| 欧美丰满熟妇bbbbbb百度| 精品少妇人妻av免费久久洗澡| 999久久欧美人妻一区二区| 天天爱天天做天天操| 日韩精品在线播放视频| 欧美 日韩 国产 在线观看| 天天干天天色天天干| 伊人国产精品视频| 超碰在线超碰在线| 免费久久久久久| 日韩中文字幕在线不卡| 97中文字幕在线| 日韩伦理在线免费观看| 黄色动漫在线免费看| 天天爽天天爽夜夜爽| 另类小说色综合| 国产乱码一区二区三区四区| 91亚洲一区二区| 青青视频免费在线观看| 和岳每晚弄的高潮嗷嗷叫视频| 可以在线看的av网站| 青青在线视频免费| 日本黄色福利视频| 国产一级黄色录像片| 少妇人妻在线视频| 国产精品人人爽人人爽| 国产又黄又爽免费视频| 国产精品又粗又长| 天天爽人人爽夜夜爽| 亚洲天堂av一区二区| 国产精品视频网站在线观看| 日本三级免费网站| 午夜大片在线观看| 婷婷无套内射影院| 欧美激情第3页| 男人插女人视频在线观看| 黄色免费网址大全| 热久久最新地址| 99视频在线免费| 国产h视频在线播放| 国产高清精品软男同| 亚洲小说欧美另类激情| 人人妻人人添人人爽欧美一区| 好色先生视频污| 北条麻妃在线观看| 九九热视频免费| 青青草视频在线免费播放| 浴室偷拍美女洗澡456在线| 婷婷丁香激情网| av网站在线观看不卡| 国产欧美精品一二三| 成人在线观看你懂的| 91福利国产成人精品播放| 国产一级做a爰片久久毛片男| 黄色aaa级片| 国产午夜福利在线播放| 中文字幕第一页在线视频| 中文字幕乱码人妻综合二区三区| av磁力番号网| 99国产精品久久久久久| 日韩中文字幕组| 久激情内射婷内射蜜桃| 亚洲精品少妇一区二区| 亚洲欧美日韩综合网| 欧洲熟妇精品视频| 日本黄网站免费| 成人三级视频在线播放| 国产精品网站免费|