国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

好看漂亮的html5網(wǎng)頁(yè)特效學(xué)習(xí)筆記(2)_svg實(shí)現(xiàn)不同投票不同表情

yankeys / 3035人閱讀

摘要:表情繪制使用純代碼繪制。其它表情請(qǐng)看源代碼。當(dāng)評(píng)分改變,這個(gè)高度很大的元素就向上移動(dòng),把需要的表情顯示出來。源碼不同投票不同表情

特點(diǎn):

根據(jù)不同評(píng)分顯示不同表情,并且這些表情看起來像是在一個(gè)傳送帶上可以滾動(dòng)

使用純代碼(svg)繪制表情以及用于評(píng)分的星星

html+css,無javascript,上手難度:很簡(jiǎn)單

歡迎來我的博客看此文章:http://clatterrr.com/archives...

源碼:

效果演示:https://clatterrr.github.io/s...

源碼:https://github.com/clatterrr/...

學(xué)習(xí)筆記 flex

布局使用flex,這是一種自適應(yīng)屏幕的布局。注意align-items和justify-content也和flex有關(guān)。具體請(qǐng)看https://www.runoob.com/cssref...

.container {
  display: flex;
}
星星繪制
 background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns="http://www.w3.org/2000/svg" width="126.729" height="126.73"%3e%3cpath fill="%23fcd93a" d="M121.215 44.212l-34.899-3.3c-2.2-.2-4.101-1.6-5-3.7l-12.5-30.3c-2-5-9.101-5-11.101 0l-12.4 30.3c-.8 2.1-2.8 3.5-5 3.7l-34.9 3.3c-5.2.5-7.3 7-3.4 10.5l26.3 23.1c1.7 1.5 2.4 3.7 1.9 5.9l-7.9 32.399c-1.2 5.101 4.3 9.3 8.9 6.601l29.1-17.101c1.9-1.1 4.2-1.1 6.1 0l29.101 17.101c4.6 2.699 10.1-1.4 8.899-6.601l-7.8-32.399c-.5-2.2.2-4.4 1.9-5.9l26.3-23.1c3.8-3.5 1.6-10-3.6-10.5z"/%3e%3c/svg%3e");

css中有這么一大段代碼,共有三處。用svg來繪制評(píng)分的星星。
關(guān)于svg如何繪制具體請(qǐng)看https://www.runoob.com/svg/sv...
這三處代碼,從上往下,第一處是繪制用于評(píng)分的灰色星星,第二處是用于當(dāng)評(píng)出某個(gè)分?jǐn)?shù)后,代表評(píng)分的星星的樣子。第三處是用于,當(dāng)鼠標(biāo)碰到某個(gè)星星時(shí),該星星和之前的星星所顯示的樣子。這三處代碼不同的地方是fill 后面的數(shù)值,這代表著顏色。

星星顯示規(guī)則

不過,根據(jù)評(píng)分怎么顯示對(duì)應(yīng)的星星數(shù)呢?假設(shè)我點(diǎn)了第四顆星,為什么第一到第三顆星也亮了呢?
注意這兒的選擇器,星星實(shí)際上是

A~B 匹配B元素,滿足條件:B是A之后的任意一個(gè)兄弟節(jié)點(diǎn)(AB有相同的父節(jié)點(diǎn),B在A之后,但不一定是緊挨著A)      
A>B 匹配B元素,滿足條件:B是A的直接子節(jié)點(diǎn)

表格詳細(xì)版本:https://developer.mozilla.org...
這兒的css樣式代碼即為,當(dāng)選擇某顆星后,這顆星的lable,即用來顯示星星樣子的元素變亮,以及,和這顆星label為兄弟元素但在此星lable之后的label元素也變亮。為什么可以這么設(shè)置呢?看看html










第一星到第五星其實(shí)是倒著排的,所以當(dāng)選擇了第四星,第四星之前的三,二,一星也亮了。但是問題時(shí),倒著排,那么顯示出來不也是倒著的,從右往左么?再看看css

.rating {
  flex-direction: row-reverse;
}

嗯,css再倒著來一遍,保證了第三星是第四星后面的元素,同時(shí)第三星還是在第四星左邊。簡(jiǎn)直巧妙。

表情繪制

使用svg純代碼繪制。例如下面這段代碼就是繪制了左圖最上方那個(gè)扁嘴的表情,項(xiàng)目中只有黑白色是因?yàn)橛昧薵rayscale濾鏡,之前說過。其它表情請(qǐng)看源代碼。關(guān)于svg如何繪制具體請(qǐng)看https://www.runoob.com/svg/sv...




 
  
      
      
      
      
      
      
      
      
      
    

表情滾動(dòng)
#rating-1:checked ~ .emoji-wrapper > .emoji {
  -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
}

如上圖所示,表情被繪制在一張高度很大的元素上,但只顯示最上面的部分。當(dāng)評(píng)分改變,這個(gè)高度很大的元素就向上移動(dòng),把需要的表情顯示出來。

源碼:

html



 

  
  不同投票不同表情
 
  
 

 

 
  

css

* {
  box-sizing: border-box;
}
 
.container {
  display: flex;
  flex-wrap: wrap;
  height: 100vh;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}
 
.rating {
  display: flex;
  width: 100%;
  justify-content: center;
  overflow: hidden;
  flex-direction: row-reverse;
  height: 150px;
  position: relative;
}
 
.rating-0 {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}
 
.rating > input {
  display: none;
}
 
.rating > label {
  cursor: pointer;
  width: 40px;
  height: 40px;
  margin-top: auto;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns="http://www.w3.org/2000/svg" width="126.729" height="126.73"%3e%3cpath fill="%23e3e3e3" d="M121.215 44.212l-34.899-3.3c-2.2-.2-4.101-1.6-5-3.7l-12.5-30.3c-2-5-9.101-5-11.101 0l-12.4 30.3c-.8 2.1-2.8 3.5-5 3.7l-34.9 3.3c-5.2.5-7.3 7-3.4 10.5l26.3 23.1c1.7 1.5 2.4 3.7 1.9 5.9l-7.9 32.399c-1.2 5.101 4.3 9.3 8.9 6.601l29.1-17.101c1.9-1.1 4.2-1.1 6.1 0l29.101 17.101c4.6 2.699 10.1-1.4 8.899-6.601l-7.8-32.399c-.5-2.2.2-4.4 1.9-5.9l26.3-23.1c3.8-3.5 1.6-10-3.6-10.5z"/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 76%;
  transition: .3s;
}
 
.rating > input:checked ~ label,
.rating > input:checked ~ label ~ label {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns="http://www.w3.org/2000/svg" width="126.729" height="126.73"%3e%3cpath fill="%23fcd93a" d="M121.215 44.212l-34.899-3.3c-2.2-.2-4.101-1.6-5-3.7l-12.5-30.3c-2-5-9.101-5-11.101 0l-12.4 30.3c-.8 2.1-2.8 3.5-5 3.7l-34.9 3.3c-5.2.5-7.3 7-3.4 10.5l26.3 23.1c1.7 1.5 2.4 3.7 1.9 5.9l-7.9 32.399c-1.2 5.101 4.3 9.3 8.9 6.601l29.1-17.101c1.9-1.1 4.2-1.1 6.1 0l29.101 17.101c4.6 2.699 10.1-1.4 8.899-6.601l-7.8-32.399c-.5-2.2.2-4.4 1.9-5.9l26.3-23.1c3.8-3.5 1.6-10-3.6-10.5z"/%3e%3c/svg%3e");
}
 
.rating > input:not(:checked) ~ label:hover,
.rating > input:not(:checked) ~ label:hover ~ label {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns="http://www.w3.org/2000/svg" width="126.729" height="126.73"%3e%3cpath fill="%23d8b11e" d="M121.215 44.212l-34.899-3.3c-2.2-.2-4.101-1.6-5-3.7l-12.5-30.3c-2-5-9.101-5-11.101 0l-12.4 30.3c-.8 2.1-2.8 3.5-5 3.7l-34.9 3.3c-5.2.5-7.3 7-3.4 10.5l26.3 23.1c1.7 1.5 2.4 3.7 1.9 5.9l-7.9 32.399c-1.2 5.101 4.3 9.3 8.9 6.601l29.1-17.101c1.9-1.1 4.2-1.1 6.1 0l29.101 17.101c4.6 2.699 10.1-1.4 8.899-6.601l-7.8-32.399c-.5-2.2.2-4.4 1.9-5.9l26.3-23.1c3.8-3.5 1.6-10-3.6-10.5z"/%3e%3c/svg%3e");
}
 
.emoji-wrapper {
  width: 100%;
  text-align: center;
  height: 100px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
 
.emoji-wrapper:before,
.emoji-wrapper:after {
  content: "";
  height: 15px;
  width: 100%;
  position: absolute;
  left: 0;
  z-index: 1;
}
 
.emoji-wrapper:before {
  top: 0;
  background: linear-gradient(to bottom, white 0%, white 35%, rgba(255, 255, 255, 0) 100%);
}
 
.emoji-wrapper:after {
  bottom: 0;
  background: linear-gradient(to top, white 0%, white 35%, rgba(255, 255, 255, 0) 100%);
}
 
.emoji {
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: .3s;
}
 
.emoji > svg {
  margin: 15px 0;
  width: 70px;
  height: 70px;
  flex-shrink: 0;
}
 
#rating-1:checked ~ .emoji-wrapper > .emoji {
  -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
}
 
#rating-2:checked ~ .emoji-wrapper > .emoji {
  -webkit-transform: translateY(-200px);
          transform: translateY(-200px);
}
 
#rating-3:checked ~ .emoji-wrapper > .emoji {
  -webkit-transform: translateY(-300px);
          transform: translateY(-300px);
}
 
#rating-4:checked ~ .emoji-wrapper > .emoji {
  -webkit-transform: translateY(-400px);
          transform: translateY(-400px);
}
 
#rating-5:checked ~ .emoji-wrapper > .emoji {
  -webkit-transform: translateY(-500px);
          transform: translateY(-500px);
}
 
.feedback {
  max-width: 360px;
  background-color: #fff;
  width: 100%;
  padding: 30px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/106934.html

相關(guān)文章

  • 好看漂亮html5網(wǎng)頁(yè)特效學(xué)習(xí)筆記(2)_svg實(shí)現(xiàn)不同投票不同表情

    摘要:表情繪制使用純代碼繪制。其它表情請(qǐng)看源代碼。當(dāng)評(píng)分改變,這個(gè)高度很大的元素就向上移動(dòng),把需要的表情顯示出來。源碼不同投票不同表情 showImg(https://segmentfault.com/img/bVbwOQe?w=254&h=198); 特點(diǎn): 根據(jù)不同評(píng)分顯示不同表情,并且這些表情看起來像是在一個(gè)傳送帶上可以滾動(dòng) 使用純代碼(svg)繪制表情以及用于評(píng)分的星星 html+...

    BaronZhang 評(píng)論0 收藏0
  • 好看漂亮html5網(wǎng)頁(yè)特效學(xué)習(xí)筆記(1)_水墨動(dòng)畫

    摘要:對(duì)于來說,表示元素,除了優(yōu)先級(jí)更高之外,與選擇器相同。從父元素繼承顏色漸變背景漂亮的深藍(lán)淺藍(lán)效果就是這個(gè)的作用。媒體查詢,簡(jiǎn)單來說就是可以讓網(wǎng)頁(yè)自動(dòng)適應(yīng)不同的設(shè)備屏幕尺寸。具體請(qǐng)看貝塞爾曲線,用來生成水墨效果的關(guān)鍵。 showImg(https://segmentfault.com/img/bVbwNaj); 效果 鼠標(biāo)觸碰按鈕,出現(xiàn)水墨風(fēng)格動(dòng)畫 屏幕自適應(yīng) 一份html文件,一份c...

    habren 評(píng)論0 收藏0
  • 好看漂亮html5網(wǎng)頁(yè)特效學(xué)習(xí)筆記(1)_水墨動(dòng)畫

    摘要:對(duì)于來說,表示元素,除了優(yōu)先級(jí)更高之外,與選擇器相同。從父元素繼承顏色漸變背景漂亮的深藍(lán)淺藍(lán)效果就是這個(gè)的作用。媒體查詢,簡(jiǎn)單來說就是可以讓網(wǎng)頁(yè)自動(dòng)適應(yīng)不同的設(shè)備屏幕尺寸。具體請(qǐng)看貝塞爾曲線,用來生成水墨效果的關(guān)鍵。 showImg(https://segmentfault.com/img/bVbwNaj); 效果 鼠標(biāo)觸碰按鈕,出現(xiàn)水墨風(fēng)格動(dòng)畫 屏幕自適應(yīng) 一份html文件,一份c...

    Null 評(píng)論0 收藏0
  • 好看漂亮html5網(wǎng)頁(yè)特效學(xué)習(xí)筆記(4)_canvas實(shí)現(xiàn)火焰跟隨鼠標(biāo)

    摘要:好看漂亮的網(wǎng)頁(yè)特效學(xué)習(xí)筆記猜猜下一個(gè)顏色是什么分步詳細(xì)解釋第一步很簡(jiǎn)單的初始化函數(shù)。繪制新的火焰紅色的圓以及火花之前元素,即新的火焰紅色的圓以及火花的生命周期未完的話,就繼續(xù)更新它,否則就刪除它第五步以火焰為粒子。 showImg(https://segmentfault.com/img/bVbwV8z?w=376&h=388); 效果: 逼真的火焰跟隨鼠標(biāo),還冒出火花,照亮背景文字...

    SwordFly 評(píng)論0 收藏0
  • 好看漂亮html5網(wǎng)頁(yè)特效學(xué)習(xí)筆記(5)_弧形菜單

    摘要:定義標(biāo)準(zhǔn)的文本。然后看看函數(shù)的定義自啟動(dòng)來按下按鈕的時(shí)差不能超過最大持續(xù)時(shí)間重新繪制菜單項(xiàng)的位置先用確定按下按鈕的時(shí)間,儲(chǔ)存在中。如果到了規(guī)定時(shí)間的話,就執(zhí)行。然后再把取下的第一個(gè)當(dāng)成第十三個(gè)接在最后面,又成了新的菜單排列。 showImg(https://segmentfault.com/img/bVbw1zV?w=818&h=479); 效果: 弧形菜單,文字按規(guī)則變形以及變換透...

    Guakin_Huang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<