成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

純 CSS 實(shí)現(xiàn)星型 ☆ 評級

oneasp / 3425人閱讀

摘要:今天,我們用純實(shí)現(xiàn)評級。這時(shí),當(dāng)你某個(gè)時(shí),這個(gè)及其后面的都同時(shí)變?yōu)辄S色實(shí)體星。對內(nèi)聯(lián)元素應(yīng)用時(shí)要注意用純實(shí)現(xiàn)評級的效果就實(shí)現(xiàn)了代碼如下用實(shí)現(xiàn)評級效果思路當(dāng)元素觸發(fā)事件時(shí),賦予不同的值。

今天,我們用純CSS實(shí)現(xiàn)??評級。

案例效果

分析:正常情況下為空心的☆,鼠標(biāo)hover時(shí),變?yōu)閷?shí)心黃色的★.

HTML分析

div.star包裹5個(gè)span,每個(gè)span的內(nèi)容為空心的☆.HTML代碼如下:

CSS分析

1.分析:當(dāng)我們hover時(shí),我們用實(shí)心的★覆蓋空心的☆,并給實(shí)心的★設(shè)置color:gold;.

要覆蓋空心的☆,我們要利用為元素::before,并賦予content:"★".同時(shí)為了實(shí)現(xiàn)覆蓋,而不是在之前添加內(nèi)容,我們需要為元素設(shè)置position:absolute;.

這時(shí),當(dāng)你hover時(shí),hover的☆就變?yōu)閷?shí)體黃色的??了。

2.接下來,我們要實(shí)現(xiàn)當(dāng)我hover某個(gè)☆時(shí),不僅這一個(gè),它前面的☆也都要變?yōu)辄S色實(shí)體的??。
首先,我們要用到通用兄弟選擇器~

在使用 ~ 連接兩個(gè)元素時(shí),它會匹配第二個(gè)元素,條件是它必須跟(不一定是緊跟)在第一個(gè)元素之后,且他們都有一個(gè)共同的父元素 .
比如:div~p就會匹配與div同輩的且在div之后的所有p元素。

當(dāng)我們hover某個(gè)☆時(shí),我們利用通用兄弟選擇器使后面的☆也同時(shí)變?yōu)辄S色實(shí)體星??。

span:hover::before,
span:hover~span::before{
  content:"★";
  color:gold;
  position:absolute;
} 

這時(shí),當(dāng)你hover某個(gè)☆時(shí),這個(gè)及其后面的☆都同時(shí)變?yōu)辄S色實(shí)體星??。

3.最后,我們利用unicode-bidi,direction屬性,使文本由右向左顯示。

The unicode-bidi CSS property together with the direction property relates to the handling of bidirectional text in a document.For example, if a block of text contains both left-to-right and right-to-left text then the user-agent uses a complex Unicode algorithm to decide how to display the text. This property overrides this algorithm and allows the developer to control the text embedding.

這樣的話,當(dāng)我們hover時(shí),還是這個(gè)及其后面的☆都同時(shí)變?yōu)辄S色實(shí)體星??,但是由于此時(shí)從右向左顯示,它的后面兄弟元素就變到“前面”來了。

.star{unicode-bidi: bidi-override;direction:rtl;}

對內(nèi)聯(lián)元素應(yīng)用direction時(shí)要注意:

For the direction property to have any effect on inline-level elements, the unicode-bidi property"s value must be embed or override.

OK. 用純CSS實(shí)現(xiàn)??評級的效果就實(shí)現(xiàn)了!

CSS代碼如下:

span:hover::before,
span:hover~span::before{
  content:"★";
  color:gold;
  position:absolute;
} 
.star{
  unicode-bidi:bidi-overrride;
  direction:rtl;
}
用 JS 實(shí)現(xiàn)評級效果

思路:當(dāng)元素觸發(fā)onmouseover事件時(shí),賦予不同的class值。

代碼如下:

 
.heart-off,.heart-on,.heart-hover{
  text-decoration:none;
}

.heart-off:before,.heart-on:before,.heart-hover:before{
  content:"2665";
}
.heart-off{color:rgba(150,150,150,.5);}
.heart-on{color:rgba(255,0,0,.5);}
.heart-hover{color:rgba(255,0,0,1);}
one.onmouseover=function(){
  this.className="heart-hover";
  two.className="heart-off";
  three.className="heart-off";
  four.className="heart-off";
  five.className="heart-off";
};

two.onmouseover=function(){
  this.className="heart-hover";
  one.className="heart-on";
  three.className="heart-off";
  four.className="heart-off";
  five.className="heart-off";
};

three.onmouseover=function(){
  this.className="heart-hover";
  one.className="heart-on";
  two.className="heart-on";
  four.className="heart-off";
  five.className="heart-off";
};

four.onmouseover=function(){
  this.className="heart-hover";
  one.className="heart-on";
  two.className="heart-on";
  three.className="heart-on";
  five.className="heart-off";
};

five.onmouseover=function(){
  this.className="heart-hover";
  one.className="heart-on";
  two.className="heart-on";
  three.className="heart-on";
  four.className="heart-on";
};
參考資料

字符實(shí)體

字符集

unicode-bidide 的用法

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/111197.html

相關(guān)文章

  • 個(gè)人分享--web前端學(xué)習(xí)資源分享

    摘要:前言月份開始出沒社區(qū),現(xiàn)在差不多月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會進(jìn)行總結(jié)或者分享會議那么今天我就把看過的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區(qū),現(xiàn)在差不多9月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會進(jìn)行總結(jié)或者分享會議!那么今天我就...

    sherlock221 評論0 收藏0
  • 三欄布局只知道圣杯、雙飛翼,最終評級是……F

    摘要:三欄布局,面試與工作中的常見布局。分左中右三部分,其中左右寬度已知,中間寬度自適應(yīng)。根據(jù)不同的順序與處理,這里寫下了五類布局方式。用了它,內(nèi)外部元素渲染互不影響,就不會蔓延到兩側(cè)了。網(wǎng)格布局網(wǎng)格布局好了,后續(xù)再來說一下各自的優(yōu)缺點(diǎn)。 三欄布局,面試與工作中的常見布局。分左中右三部分,其中左右寬度已知,中間寬度自適應(yīng)。根據(jù)不同的DOM順序與CSS處理,這里寫下了五類布局方式。 一、浮動(dòng)布...

    KavenFan 評論0 收藏0
  • 三欄布局只知道圣杯、雙飛翼,最終評級是……F

    摘要:三欄布局,面試與工作中的常見布局。分左中右三部分,其中左右寬度已知,中間寬度自適應(yīng)。根據(jù)不同的順序與處理,這里寫下了五類布局方式。用了它,內(nèi)外部元素渲染互不影響,就不會蔓延到兩側(cè)了。網(wǎng)格布局網(wǎng)格布局好了,后續(xù)再來說一下各自的優(yōu)缺點(diǎn)。 三欄布局,面試與工作中的常見布局。分左中右三部分,其中左右寬度已知,中間寬度自適應(yīng)。根據(jù)不同的DOM順序與CSS處理,這里寫下了五類布局方式。 一、浮動(dòng)布...

    BothEyes1993 評論0 收藏0

發(fā)表評論

0條評論

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