成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 使用HTML和CSS實(shí)現(xiàn)的標(biāo)簽云效果(附demo)

使用HTML和CSS實(shí)現(xiàn)的標(biāo)簽云效果(附demo)

熱門標(biāo)簽:智能語音電銷機(jī)器人客戶端 西安金倫外呼系統(tǒng) 高德地圖標(biāo)注廁所 地圖標(biāo)注員工作內(nèi)容 地圖標(biāo)注沿海城市房價(jià) 江西ai電銷機(jī)器人如何 中國地圖標(biāo)注城市的 通遼地圖標(biāo)注app 威海語音外呼系統(tǒng)平臺(tái)

標(biāo)簽云的效果在博客和網(wǎng)站上不難見到,它其實(shí)就是帶有超鏈接的某些關(guān)鍵字,為了達(dá)到強(qiáng)調(diào)主題的作用。通常出現(xiàn)概率比較大或者受歡迎的標(biāo)簽文字顯示比較大,相反的就顯示的小。

 

來源于TagCrowd.com

我們就不去深入研究標(biāo)簽云帶來的效率上的提升和可用性的細(xì)節(jié),僅僅在外觀上帶來的美感和對全站或一整篇文章所起到的高度概括的作用就不容忽視了。

接下來,我們將討論如何用HTML和CSS來創(chuàng)建標(biāo)簽云效果。注意,我們僅僅討論如何實(shí)現(xiàn)這種UI效果而不去深究標(biāo)簽的權(quán)重或受歡迎程度是怎么算出來的。

HTML基礎(chǔ)結(jié)構(gòu)

前面說了,標(biāo)簽云就是一個(gè)連接列表。所以從語義化的視角,使用無序列表來表達(dá)每個(gè)標(biāo)簽是合理的,不用考慮按歡迎程度去排列,否則就毫無意義了。

在每個(gè)列表項(xiàng)里包含一個(gè)超鏈接標(biāo)簽,所以大體結(jié)構(gòu)就是下面的樣子:

<ul>
  <li><a href="/tag/word1">Word1</a></li>
  <li><a href="/tag/word2">Word2</a></li>
  <li><a href="/tag/word3">Word3</a></li>
  <!-- ... -->
</ul>

每個(gè)標(biāo)簽的權(quán)重要提前算好,然后把它加到 <a> 上或者 <li> 上,我們就暫且把它加到鏈接上。

權(quán)重大的標(biāo)簽對應(yīng)顯示的文字也大,代表了它的受歡迎程度大。

<ul>
  <li><a href="/tag/word1" data-weight="3">Word1</a></li>
  <li><a href="/tag/word2" data-weight="7">Word2</a></li>
  <li><a href="/tag/word3" data-weight="4">Word3</a></li>
  <!-- ... -->
</ul>

注意:這里的data-weight是通過data-count和data-total計(jì)算而來的,這里沒辦法直接通過兩個(gè)屬性計(jì)算表示,所以我們把目標(biāo)聚焦在data-weight這樣一個(gè)屬性上。

這樣基礎(chǔ)的HTML結(jié)構(gòu)代碼就寫好了,只要稍加一些屬性就完美了。

  • class:有助于在添加樣式的時(shí)候確定是哪個(gè)標(biāo)簽云
  • role:這個(gè)是一個(gè)導(dǎo)航組件,在屏幕閱讀器上標(biāo)識(shí)和輔助作用
  • aria-label:給輔助功能添加標(biāo)題和描述

注意:如果列表位于 <nav> 標(biāo)簽內(nèi),就不需要添加 role="navigation" ,可以使用aria-labelledby代替導(dǎo)航標(biāo)簽來指向?qū)Ш綐?biāo)題。

讓我們來完善一下列表數(shù)據(jù),添加一些和開發(fā)相關(guān)的名詞作為標(biāo)簽,這樣看起來更貼近實(shí)際一點(diǎn)。

<ul class="cloud" role="navigation" aria-label="Webdev tag cloud">
  <li><a data-weight="4" href="/tag/http">HTTP</a></li>
  <li><a data-weight="2" href="/tag/ember">Ember</a></li>
  <li><a data-weight="5" href="/tag/sass">Sass</a></li>
  <li><a data-weight="8" href="/tag/html">HTML</a></li>
  <li><a data-weight="6" href="/tag/flexbox">FlexBox</a></li>
  <li><a data-weight="4" href="/tag/api">API</a></li>
  <li><a data-weight="5" href="/tag/vuejs">VueJS</a></li>
  <li><a data-weight="6" href="/tag/grid">Grid</a></li>
  <li><a data-weight="3" href="/tag/rest">Rest</a></li>
  <li><a data-weight="9" href="/tag/javascript">JavaScript</a></li>
  <li><a data-weight="3" href="/tag/animation">Animation</a></li>
  <li><a data-weight="7" href="/tag/react">React</a></li>
  <li><a data-weight="8" href="/tag/css">CSS</a></li>
  <li><a data-weight="1" href="/tag/cache">Cache</a></li>
  <li><a data-weight="3" href="/tag/less">Less</a></li>
</ul>

下面是標(biāo)簽云現(xiàn)在看起來的效果:

這是還沒有添加任何樣式的結(jié)果,然后給它添加一些樣式

給標(biāo)簽云添加樣式

以下是我們要通過添加樣式解決的:

  • 讓標(biāo)簽以行內(nèi)元素顯示
  • 讓每個(gè)標(biāo)簽的font-size屬性根據(jù) data-weight 大小顯示
  • 在標(biāo)簽的右邊加上權(quán)重
  • 讓標(biāo)簽的顏色隨機(jī)顯示
  • 給標(biāo)簽添加:hover和:focus動(dòng)態(tài)樣式

給ul添加樣式

首先移除列表前面的小圓點(diǎn)和縮進(jìn)

list-style: none;
padding-left: 0;

然后設(shè)置 ul 以Flexbox顯示,并且水平垂直居中保證所有的標(biāo)簽元素在一行或者多行內(nèi)顯示

display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;

添加上行高相互之間保持一定的垂直距離,最終的ul元素的樣式如下:

ul.cloud {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  line-height: 2.5rem;
}

然而這個(gè)時(shí)候標(biāo)簽云看起來還差很多

 

根據(jù)權(quán)重調(diào)整標(biāo)簽的大小

讓我們開始給標(biāo)簽一些小的變化

ul.cloud a {
  color: #a33;
  display: block;
  font-size: 1.5rem;
  padding: 0.125rem 0.25rem;
  text-decoration: none;
  position: relative;
}

通過上面的樣式,所有的標(biāo)簽變成淡紅色并且設(shè)置1.5rem大小

然而我們的要求是字體大小根據(jù) data-weight 而來的,怎么實(shí)現(xiàn)呢?

web標(biāo)準(zhǔn)有一種方式是CSS可以通過 attr() 方法讀取HTML的data屬性值,所以我們可以通過以下方式讀取 data-weight

attr([attribute-name] [attribute-unit]? [, default-value]?)

不幸的是,目前任何瀏覽器均不支持該表示法和功能。相反,attr()將僅返回一個(gè)字符串,并且只能在content屬性中使用。

如果web標(biāo)準(zhǔn)支持這種做法,那好辦,我們可以直接讀取屬性權(quán)重的數(shù)據(jù),將它們保存到CSS變量中,并直接對其進(jìn)行操作,如下所示:

ul.cloud a {
  --size: attr(data-weight number, 2); 
  font-size: calc(var(--size) * 1rem);
}

但是這樣不行,我們只能通過CSS規(guī)則,屬性選擇器:data-attribute

ul.cloud a[data-weight="1"] { --size: 1; }
ul.cloud a[data-weight="2"] { --size: 2; }
ul.cloud a[data-weight="3"] { --size: 3; }
ul.cloud a[data-weight="4"] { --size: 4; }
ul.cloud a[data-weight="5"] { --size: 5; }
ul.cloud a[data-weight="6"] { --size: 6; }
ul.cloud a[data-weight="7"] { --size: 7; }
ul.cloud a[data-weight="8"] { --size: 8; }
ul.cloud a[data-weight="9"] { --size: 9; }

ul.cloud a {
  --size: 4;
  font-size: calc(var(--size) * 0.25rem + 0.5rem);
  /* ... */
}

為了避免將字體大小直接設(shè)置成權(quán)重導(dǎo)致太大,因此通過一定的方法計(jì)算,結(jié)果顯示如下:

現(xiàn)在看來已經(jīng)小有成就。

為標(biāo)簽添加權(quán)重顯示

我們常見的標(biāo)簽云效果在標(biāo)簽的旁邊都有權(quán)重顯示,權(quán)重已經(jīng)有了,我們要將它展示在偽元素 ::after 的content中

ul.cloud[data-show-value] a::after {
  content: " (" attr(data-weight) ")";
  font-size: 1rem;
}

然后還需要給 ul 元素增加 [data-show-value] 屬性選擇器,將它的值設(shè)為true或者false來控制標(biāo)簽后面的數(shù)字權(quán)重是否顯示

注意: data-show-value 屬性選擇器的值為布爾值,即使你設(shè)置為false,它也會(huì)顯示,如果不讓它顯示,就移除該屬性

這是顯示數(shù)字權(quán)重的效果

下面的案例中將不顯示標(biāo)簽旁邊的數(shù)字

為標(biāo)簽云添加顏色

所有的標(biāo)簽一個(gè)顏色看起來很沉悶,我們將嘗試用兩種不同的方法來為它添加不同的顏色。

使用隨機(jī)生成的顏色

在CSS中沒有隨機(jī)數(shù)這么一說(雖然可以模擬出來)。我們將要做的是根據(jù)標(biāo)簽的序列號(hào)來給它定義不同的顏色,方法如下:

ul.cloud li:nth-child(2n+1) a { --color: #181; }
ul.cloud li:nth-child(3n+1) a { --color: #33a; }
ul.cloud li:nth-child(4n+1) a { --color: #c38; }

通過這種方式我們給它添加了綠色,藍(lán)色和紫色代替了之前的淡紅色,雖然也不是完全隨機(jī)(有一定的規(guī)律在),但是用戶很難發(fā)現(xiàn)。

 

使用同一種顏色的不同透明度值

我們通過增加標(biāo)簽對比度來達(dá)到強(qiáng)調(diào)受歡迎程度的效果,在淺色背景下,使用深色更加明顯。

HSL格式的顏色值可以實(shí)現(xiàn),但是我們采用最快的方式,直接對標(biāo)簽設(shè)置透明度,透明度的值根據(jù)權(quán)重值計(jì)算而來:

看下變化后的效果

 

定義它的輪廓

當(dāng)我們觸摸標(biāo)簽的時(shí)候 outline 樣式會(huì)比較重要,尤其對于殘障人士在可訪問性方面。

我們將給 outline 添加和標(biāo)簽字體顏色一致的邊框

ul.cloud a:focus {
  outline: 1px dashed;
} 

在這里我們是通過鼠標(biāo)點(diǎn)擊事件去模擬的

添加動(dòng)態(tài)效果

為了增加交互性,我們?yōu)樗砑右粋€(gè)簡單的動(dòng)畫:當(dāng)用戶將鼠標(biāo)移動(dòng)或者懸停在一個(gè)標(biāo)簽上時(shí),標(biāo)簽的背景色變換并且有一個(gè)水平展開的效果。

因?yàn)樗侨Q于狀態(tài)的動(dòng)畫,所以我們將使用transition而不是animation動(dòng)畫。

實(shí)現(xiàn)方式是通過 a 標(biāo)簽的偽元素::before的寬度值變化,在focus和hover狀態(tài)下從0變?yōu)?00%來達(dá)到這樣一個(gè)微交互。

CSS代碼和偽元素的狀態(tài)行為:

ul.cloud a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 100%;
  background: var(--color);
  transform: translate(-50%, 0);
  opacity: 0.15;
  transition: width 0.25s;
}

ul.cloud a:focus::before,
ul.cloud a:hover::before {
  width: 100%;
}

對于動(dòng)畫效果:用戶不能根據(jù)自己的喜好來開啟或者關(guān)閉。如果真是一個(gè)需求的話,我們還是要尊重用戶的喜好移除動(dòng)畫的。

可以通過媒體查詢特性 prefers-reduced-motion 來達(dá)到https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion

@media (prefers-reduced-motion) {
  ul.cloud * {
    transition: none !important;
  }
}

到此這篇關(guān)于使用HTML和CSS實(shí)現(xiàn)的標(biāo)簽云效果(附demo)的文章就介紹到這了,更多相關(guān)HTML和CSS標(biāo)簽云內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標(biāo)簽:眉山 晉中 營口 崇左 河池 青海 北海 阜陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用HTML和CSS實(shí)現(xiàn)的標(biāo)簽云效果(附demo)》,本文關(guān)鍵詞  使用,HTML,和,CSS,實(shí)現(xiàn),的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用HTML和CSS實(shí)現(xiàn)的標(biāo)簽云效果(附demo)》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用HTML和CSS實(shí)現(xiàn)的標(biāo)簽云效果(附demo)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    久久99久久98精品免观看软件| 成人在线视频区| 99久久国产热无码精品免费| 国产精品成人aaaa在线| 天天色天天操综合| 中文字幕一区二区不卡| 天堂资源最新在线| 久久精品一区二区三区四区五区| 国产亚洲精品久久久优势| 免费精品视频最新在线| 婷婷国产成人久久精品激情| 欧美三级蜜桃2在线观看| 国产精品不卡| 久久国产精品视频| 极品一线天粉嫩虎白馒头| 日韩网站在线看片你懂的| 东京干手机福利视频| 成人jjav| 亚洲日本va在线观看| 性感美女极品91精品| 久久机热这里只有精品| 亚洲观看高清完整版在线观看| 色天使久久综合网天天| 日韩av黄色在线观看| 老司机久久99久久精品播放免费| 精品亚洲欧美日韩| 中文字幕在线永久| yourporn久久国产精品| 久久黄色美女电影| 亚洲精品国产综合区久久久久久久| 国产一区二区三区美女秒播| 在线精品观看国产| 麻豆精品在线播放| 欧美自拍小视频| 伊人精品一区二区三区| 国精产品999国精产品官网| 亚洲国产一区二区三区高清| 91美女片黄在线观看91美女| 色综合色狠狠综合色| 精品国产乱码一区二区三区| 精品国产免费久久| 国产一级免费av| 亚洲欧洲另类精品久久综合| 亚洲色图第四色| 国产精品一区二区久久久| 97超碰在线视| 亚洲午夜黄色| 精品一区二区三区在线观看国产| 国产精品久久久一区二区三区| 亚洲成人在线免费| av电影免费在线看| eeuss免费天堂影院| 国产精品毛片a∨一区二区三区|国| 狠狠88综合久久久久综合网| 澳门黄色一级片| 免费看一级毛片| 美女久久久久| 亚洲第一综合天堂另类专| 性xxxxxxxxx18欧美| 欧美激情办公室videoshd| 欧美日韩国产首页在线观看| 国产一二三精品| 91精品国产福利在线观看麻豆| 日韩视频在线观看视频| 国产在线精品一区二区三区| 精品三级在线观看| 国产成a人亚洲精品| 国产精品欧美日韩一区| 婷婷夜色潮精品综合在线| 大地资源中文在线观看免费版| 欧美性色aⅴ视频一区日韩精品| 高清电影在线观看免费| 亚洲成人国产综合| 欧美videos粗暴| 国产91色在线|免| 亚洲三级av| 首页亚洲中字| 国产精品亚洲a| 亚洲色图偷拍视频| 欧美中文字幕一区二区| 国产福利91精品一区二区| 91极品女神私人尤物在线播放| 免费看日韩av| 99精品免费视频| 丰满少妇一区二区| 国产成人aa精品一区在线播放| 中文在线字幕在线观看| 无码人妻h动漫| 最近高清中文在线字幕在线观看1| 天天操天天爽天天干| 美女又爽又黄| 日日狠狠久久偷偷综合色| 91精品国产综合久久香蕉| 欧美女人交a| 亚洲精品视频观看| 天天操天天干天天干| 欧美激情日韩| 精品视频在线你懂得| 韩国v欧美v日本v亚洲v| 久久一区二区电影| 一级α片免费看刺激高潮视频| 亚洲国产精品成人久久综合一区| 影音先锋日韩有码| 国产v综合v| 久久一级免费视频| 国精产品一区一区三区视频| 日韩美女一级片| 亚洲一区尤物| 久久狠狠高潮亚洲精品| 亚洲成人福利在线| 日干夜干天天干| 欧美久久在线观看| 奇米影视777在线欧美电影观看| av在线看片| 国产一区二区精彩视频| 精品深夜福利视频| 亚洲曰本av电影| 在线观看免费中文字幕| 91免费国产在线| 欧美18xxxxx| 国产伦精品一区二区三区视频金莲| 五月久久久综合一区二区小说| 黄色国产网站| 欧美18—20岁hd第一次| 国产成人调教视频在线观看| 亚洲一级二级三级在线免费观看| 久久精品最新免费国产成人| 国产精品不卡av| 波多野结衣av一区二区全免费观看| 成人精品视频一区二区三区尤物| 隔壁人妻偷人bd中字| 国产在线精品观看| 变态调教一区二区三区| 日韩在线观看免费全| 久久久999精品免费| 欧洲亚洲一区二区三区四区五区| 亚洲国产婷婷香蕉久久久久久| 亚洲高清色图| 女同性一区二区三区人了人一| 性色av蜜臀av浪潮av老女人| 成看片vvv222| 国内精品国产三级国产99| 自拍偷拍国产精品| 日韩有码电影| 国产精品815.cc红桃| 国产精品你懂的在线观看| 午夜欧美一区二区三区在线播放| 国产盗摄在线观看| h片在线观看视频| 日本中文字幕高清视频| 中文字幕亚洲精品| 青娱乐国产91| 国产精品久久久久久久蜜臀| 欧美这里只有精品| 色哟哟无码精品一区二区三区| 日韩一区二区三区精品视频第3页| 精品无码一区二区三区的天堂| 综合欧美一区二区三区| 91欧美激情一区二区三区成人| 成人软件网18免费视频| 色婷五月综激情亚洲综合| 青青草国产精品亚洲专区无| 国产一级做a爰片久久毛片男| 日本视频中文字幕一区二区三区| 成人a在线观看高清电影| 亚洲一区二区三区四区| 97成人在线观看| 久久午夜鲁丝片午夜精品| 日韩视频第二页| 欧美成人另类视频| 精品国产一区二区三区| 色综合伊人色综合网| 久久国产在线观看| 污视频软件在线观看| 国产精品无码久久久久成人app| 欧美激情aaa| 超碰aⅴ人人做人人爽欧美| 久久精品一区二区国产| 久久久久久久久久久成人| 国产乱在线观看完整版视频| 国产亚洲一卡2卡3卡4卡新区| 国产精品人成电影在线观看| 亚洲精品国产精品久久清纯直播| 热久久免费视频| 久久综合久久综合这里只有精品| 成人h片在线播放免费网站| 一级黄色录像毛片| 天天综合久久综合| 久久99久久久精品欧美| a级黄色免费视频| 日韩综合久久| 国产视频二区在线观看| 黑人精品xxx一区一二区| 欧美三级网址| 欧美偷拍一区二区| 欧美日韩一区二区三区在线观看免| 精品国产乱码久久久久酒店| 黄色在线免费播放| 激情综合色综合久久综合| 国产91免费观看| 亚洲人成网址| 亚洲欧美日韩成人高清在线一区| 国产精品久久久久久久久久尿| 亚洲一区激情| 亚洲精品国产suv一区88| 日韩毛片在线免费观看| 日韩免费观看高清完整版在线观看| av电影在线播放| 国产精品96久久久久久又黄又硬| 岛国在线最新| 中文字幕日本视频| 久久久久久久久综合| 99热播在线观看| 69免费视频| 午夜一区二区三区免费| 亚洲综合网站久久久| 免费国产h视频在线观看86| 国产95在线|亚洲| 丝袜美腿中文字幕| 国内成人免费视频| 日韩三级电影| 99久久99久久免费精品小说| 爱爱的免费视频| 色悠久久久久综合欧美99| 俺来俺也去www色在线观看| 午夜精品久久久久久久99热| 久久av中文| 和岳每晚弄的高潮嗷嗷叫视频| 77导航福利在线| 最新91在线视频| 精品久久久久久久久久久久久久久久久| 激情欧美丁香| 日本熟女毛茸茸| 人人网欧美视频| 一区二区成人av| 国产99久久精品一区二区永久免费| 日本免费黄色| 丰满人妻妇伦又伦精品国产| 国产精选一区二区| 久久婷婷一区二区三区| 精品国产99久久久久久| 黄色小视网站| 国产精品大片| 91精品99| 在线免费91| segui88久久综合| 99久久伊人精品影院| 亚洲美女在线看| 三上悠亚免费在线观看| 亚洲欧美精品一区| 风间由美性色一区二区三区四区| 色综合一个色综合| 少妇人妻大乳在线视频| 亚洲精品一级二级| 国产91在线看| 国产三级精品三级在线| 岛国av中文字幕| 欧美91大片| 69国产精品视频| 少妇一晚三次一区二区三区| 精品国产免费观看| 91香蕉国产在线观看| 日本福利片在线| 久久久国产高清| 国产精品国内免费一区二区三区| 黄网站欧美内射| 中文字幕一区二区三区视频| 日韩国产高清在线| 色呦呦国产精品| 国产精品一品视频| 色婷婷综合在线观看| 久久精品综合网| 日本电影久久久| 欧美xxxx做受欧美.88| 久久伊人成人网| 99ri国产在线| 久久精视频免费在线久久完整在线看| 日韩无套无码精品| 黄p免费网站| 久久精品波多野结衣| 成人伦理视频网站| 涩涩视频网站在线观看| 中文字幕精品一区二区精| 精品中文字幕一区二区三区av| 亚洲成人男人天堂| 国产美女玉足交| 可以免费看av的网址| 成人h片在线播放免费网站| 看电视剧不卡顿的网站| 亚洲视频免费| 91嫩草免费看| 爱爱的免费视频| 肉色超薄丝袜脚交一区二区| 噜噜噜久久亚洲精品国产品小说| 精精国产xxxx视频在线播放| 精品日本12videosex| 欧洲国内综合视频| 国产日韩欧美精品一区| 在线精品视频播放| 97视频免费看| 国产高潮在线| 丝袜美女写真福利视频| 精品在线观看国产| 国产剧情一区二区| 老鸭窝一区二区久久精品| 丁香婷婷综合激情| 亚洲欧美电影| 日本va中文字幕| 日韩美女毛茸茸| 亚洲欧美区自拍先锋| 亚洲欧美日韩国产| 美脚恋feet久草欧美| 国产拍精品一二三| 久久日韩精品一区二区五区| 91国内精品野花午夜精品| 国产亚洲一区二区手机在线观看| 四虎永久在线高清国产精品| 国产午夜亚洲精品羞羞网站| 草草久视频在线观看电影资源| www高清在线视频日韩欧美| 亚洲欧美卡通动漫| 日韩一区二区三区四区五区| 性欧美videos精品| 欧美成人精品激情在线观看| 久久99精品久久久久久久久久久久| 欧美日韩精品欧美日韩精品一综合| 顶级欧美妇高清xxxxx| 一区二区三区四区国产|