摘要:今天,我們用純實(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
摘要:前言月份開始出沒社區(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é)或者分享會議!那么今天我就...
摘要:三欄布局,面試與工作中的常見布局。分左中右三部分,其中左右寬度已知,中間寬度自適應(yīng)。根據(jù)不同的順序與處理,這里寫下了五類布局方式。用了它,內(nèi)外部元素渲染互不影響,就不會蔓延到兩側(cè)了。網(wǎng)格布局網(wǎng)格布局好了,后續(xù)再來說一下各自的優(yōu)缺點(diǎn)。 三欄布局,面試與工作中的常見布局。分左中右三部分,其中左右寬度已知,中間寬度自適應(yīng)。根據(jù)不同的DOM順序與CSS處理,這里寫下了五類布局方式。 一、浮動(dòng)布...
摘要:三欄布局,面試與工作中的常見布局。分左中右三部分,其中左右寬度已知,中間寬度自適應(yīng)。根據(jù)不同的順序與處理,這里寫下了五類布局方式。用了它,內(nèi)外部元素渲染互不影響,就不會蔓延到兩側(cè)了。網(wǎng)格布局網(wǎng)格布局好了,后續(xù)再來說一下各自的優(yōu)缺點(diǎn)。 三欄布局,面試與工作中的常見布局。分左中右三部分,其中左右寬度已知,中間寬度自適應(yīng)。根據(jù)不同的DOM順序與CSS處理,這里寫下了五類布局方式。 一、浮動(dòng)布...
閱讀 2262·2021-11-23 09:51
閱讀 1053·2021-11-18 10:02
閱讀 3453·2021-10-13 09:49
閱讀 1280·2021-09-22 14:57
閱讀 10539·2021-08-18 10:20
閱讀 1193·2019-08-30 15:55
閱讀 2240·2019-08-29 16:06
閱讀 3245·2019-08-29 11:14