I 科技評(píng)論按:Zaur Fataliyev 是在 LG 電子的一名機(jī)器學(xué)習(xí)工程師,為了方便大家對(duì)帶有復(fù)現(xiàn)代碼的經(jīng)典頂會(huì)論文進(jìn)行查詢,他在 GitHub 上將這些論文進(jìn)行了統(tǒng)一打包:https://github.com/zziz/pwc,該名單將每周更新一次。
AI 科技評(píng)論將當(dāng)中用戶打星數(shù)超過 1w 的論文進(jìn)行簡要編譯,以饗讀者。
2017 年
1)Bridging the Gap Between Value and Policy Based Reinforcement Learning
縮小價(jià)值與強(qiáng)化學(xué)習(xí)政策差距的方法
打星數(shù):46593
收錄頂會(huì):NIPS
論文鏈接:
http://papers.nips.cc/paper/6870-bridging-the-gap-between-value-and-policy-based-reinforcement-learning.pdf
復(fù)現(xiàn)代碼:
https://github.com/tensorflow/models
簡介:論文基于熵正則化下的 softmax 時(shí)間值一致性與策略最優(yōu)性之間的關(guān)系,為價(jià)值和強(qiáng)化學(xué)習(xí)政策建立新的聯(lián)系。具體而言,作者證明了對(duì)應(yīng)任意動(dòng)作序列的最優(yōu)熵正則化策略概率的 softmax 一致動(dòng)作值——在無視出處的基礎(chǔ)上。據(jù)此,論文提出了一種全新的強(qiáng)化學(xué)習(xí)算法 - 路徑一致性學(xué)習(xí)(PCL),它可以最大限度減少從一致性與非策略性跡線中提取多步動(dòng)作序列的一致性錯(cuò)誤概念。作者研究了 PCL 在不同場景下的表現(xiàn),且證明 PCL 可以被看作涵蓋了 actor-critic 以及 Q-learning algorithms 的優(yōu)點(diǎn)。用于表示策略和相應(yīng) softmax 狀態(tài)值的模型深化了這種關(guān)系,從而消除了單獨(dú)評(píng)論的需求。實(shí)驗(yàn)結(jié)果表明,PCL 的幾個(gè)基準(zhǔn)測試結(jié)果明顯優(yōu)于強(qiáng)大的 actor-critic 以及 Q-learning algorithms。
2)REBAR: Low-variance, unbiased gradient estimates for discrete latent variable models
REBAR:針對(duì)離散潛變量模型的低方差、無偏梯度估計(jì)
打星數(shù):46593
收錄頂會(huì):NIPS
論文鏈接:
http://papers.nips.cc/paper/6856-rebar-low-variance-unbiased-gradient-estimates-for-discrete-latent-variable-models.pdf
復(fù)現(xiàn)代碼:
https://github.com/tensorflow/models
簡介:由于高方差梯度估計(jì)的存在,因此通過帶有離散潛變量的模型進(jìn)行學(xué)習(xí)是非常具有挑戰(zhàn)性的。業(yè)內(nèi)的做法一般是通過控制變量來減少 REINFORCE 估計(jì)的方差。近期的工作(Jang et al,2016; Maddi- son et al,2016)采用了不同的方法,其中包括引入持續(xù)松弛的離散變量,以產(chǎn)生低方差、但有偏差的梯度估計(jì)結(jié)果。論文通過一個(gè)新的控制變量將兩者結(jié)合起來,以產(chǎn)生低方差、且無偏差的梯度估計(jì)。最后,論文介紹了對(duì)連續(xù)松弛的修正方法,證明了松弛的緊密度是可以通過在線調(diào)整的,主要將其作為超參數(shù)進(jìn)行去除。模型最終在幾個(gè)基準(zhǔn)生成建模任務(wù)中獲得了先進(jìn)的方差減少結(jié)果,可以更快地進(jìn)行收斂并達(dá)到更好的最終對(duì)數(shù)似然結(jié)果。
3)Focal Loss for Dense Object Detection
針對(duì)密集物體檢測的焦點(diǎn)損失方案
打星數(shù):18356
收錄頂會(huì):ICCV
論文鏈接:
http://openaccess.thecvf.com/content_iccv_2017/html/Lin_Focal_Loss_for_ICCV_2017_paper.html
復(fù)現(xiàn)代碼:
https://github.com/facebookresearch/Detectron
簡介:這是迄今為止精度最高的基于 R-CNN 的兩步式檢測器,其分類器可應(yīng)用于稀疏的候選對(duì)象位置集。與此相對(duì)的是,應(yīng)用于常規(guī)、密集采樣的一步式探測器具在精度上已落后于兩步式探測器。論文對(duì)此作出了解釋——在訓(xùn)練過程中遇到極端前景 - 背景類不平衡現(xiàn)象是其核心原因。作者建議通過重塑標(biāo)準(zhǔn)交叉熵?fù)p失來解決這種不平衡的問題,核心方法是降低分配給分類例子的損失權(quán)重。論文提及的「焦點(diǎn)損失」將訓(xùn)練重點(diǎn)放在一組稀疏例子上,以防止否定因素在訓(xùn)練期間影響探測器。為了評(píng)估損失的有效性,作者設(shè)計(jì)并訓(xùn)練了一個(gè)被稱作 RetinaNet 的密集檢測器。最后的研究結(jié)果表明,當(dāng)使用焦點(diǎn)損失進(jìn)行訓(xùn)練時(shí),RetinaNet 能夠達(dá)到一步式探測器的速度,且在精度上超越所有的兩步式探測器。
2016 年
1)R-FCN: Object Detection via Region-based Fully Convolutional Networks
R-FCN:基于區(qū)域完全卷積網(wǎng)絡(luò)的對(duì)象檢測
打星數(shù):18356
收錄頂會(huì):NIPS
論文鏈接:
https://papers.nips.cc/paper/6465-r-fcn-object-detection-via-region-based-fully-convolutional-networks.pdf
復(fù)現(xiàn)代碼:
https://github.com/facebookresearch/Detectron
簡介:論文提出基于區(qū)域的完全卷積網(wǎng)絡(luò),以實(shí)現(xiàn)準(zhǔn)確、有效的物體檢測任務(wù)。與先前基于區(qū)域的檢測器(如快速/更快速的 R-CNN [7,19])相比,該基于區(qū)域的檢測器是完全卷積的。為了達(dá)到這一目標(biāo),作者提出基于位置的敏感得分圖,以解決圖像分類中存在的平移不變性與對(duì)象檢測平移方差之間的兩難問題。該方法可以采用完全卷積的主要圖像分類器,例如最新的殘余網(wǎng)絡(luò)(ResNets)[10],以用于進(jìn)行物體探測。該方法在基于 101 層 ResNet 的 PASCAL VOC 數(shù)據(jù)集(例如,2007 年的 83.6%mAP)上展現(xiàn)出有競爭力的結(jié)果。需要強(qiáng)調(diào)的是,模型最終實(shí)現(xiàn)了以每張圖像 170 毫秒進(jìn)行測試的時(shí)間速度,比快速 R-CNN 對(duì)要快上 2.5-20 倍。
2)Image Style Transfer Using Convolutional Neural Networks
基于卷積神經(jīng)網(wǎng)絡(luò)的圖像樣式轉(zhuǎn)換
打星數(shù):16435
收錄頂會(huì):CVPR
論文鏈接:
http://openaccess.thecvf.com/content_cvpr_2016/html/Gatys_Image_Style_Transfer_CVPR_2016_paper.html
復(fù)現(xiàn)代碼:
https://github.com/jcjohnson/neural-style
簡介:以不同樣式呈現(xiàn)圖像的語義內(nèi)容是一項(xiàng)很困難的圖像處理任務(wù)。可以說,先前的方法最大的限制是缺乏明確表示語義信息的圖像表示,以允許將圖像內(nèi)容與樣式進(jìn)行分離。作者通過使用用于物體識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)導(dǎo)出的圖像表示,使高級(jí)圖像的信息顯式化。論文介紹了一種藝術(shù)風(fēng)格的神經(jīng)算法,該方法可以分離與重新組合圖像內(nèi)容。該算法允許我們產(chǎn)生高質(zhì)量的新圖像,其任意照片內(nèi)容與眾多知名藝術(shù)品外觀進(jìn)行結(jié)合。論文結(jié)果為卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的深度圖像表示提供了一種全新見解,并展示了它們對(duì)高級(jí)階段的圖像合成潛力。
2015 年
1)Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
更快的 R-CNN:通過區(qū)域提議網(wǎng)絡(luò)實(shí)現(xiàn)實(shí)時(shí)目標(biāo)檢測
打星數(shù):18356
收錄頂會(huì):NIPS
論文鏈接:
https://papers.nips.cc/paper/5638-faster-r-cnn-towards-real-time-object-detection-with-region-proposal-networks.pdf
復(fù)現(xiàn)代碼:
https://github.com/facebookresearch/Detectron
簡介:目前最先進(jìn)的物體檢測網(wǎng)絡(luò)有賴區(qū)域提議算法來假設(shè)物體位置。類似 SPPnet [7] 和 Fast R-CNN [5] 這樣進(jìn)步網(wǎng)絡(luò)的出現(xiàn),有效減少了網(wǎng)絡(luò)檢測的運(yùn)行時(shí)間,然而也使區(qū)域提議計(jì)算成為瓶頸。作者在本文中介紹了能與檢測網(wǎng)絡(luò)共享全圖像卷積特征的區(qū)域提議網(wǎng)絡(luò)(RPN),從而實(shí)現(xiàn)幾乎無成本的區(qū)域提議檢測。RPN 是一個(gè)完全卷積的網(wǎng)絡(luò),可同時(shí)預(yù)測每個(gè)位置的對(duì)象邊界與對(duì)象分?jǐn)?shù)。RPN 通過端到端的訓(xùn)練以生成高質(zhì)量的區(qū)域提議,被快速 R-CNN 用于檢測任務(wù)。通過簡單的交替優(yōu)化,還可以訓(xùn)練 RPN 和快速 R-CNN 以共享卷積特征。對(duì)于非常深的 VGG-16 模型 [19],該檢測系統(tǒng)在 GPU 上的幀速率為 5fps(包含所有步驟),同時(shí)在 PASCAL VOC 上實(shí)現(xiàn)了最先進(jìn)的物體檢測精度(2007 年:73.2%mAP、2012 年:70.4%mAP),平均每張圖片使用了 300 個(gè)提案。
2)Fast R-CNN
打星數(shù):18356
收錄頂會(huì):ICCV
論文鏈接:
http://openaccess.thecvf.com/content_iccv_2015/html/Girshick_Fast_R-CNN_ICCV_2015_paper.html
復(fù)現(xiàn)代碼:
https://github.com/facebookresearch/Detectron
簡介:本文提出一種基于快速區(qū)域的卷積網(wǎng)絡(luò)方法(Fast R-CNN)用于物體檢測。快速 R-CNN 建立在先前工作基礎(chǔ)上,通過使用深度卷積網(wǎng)絡(luò)有效地對(duì)對(duì)象提議進(jìn)行分類。與之前的工作相比,F(xiàn)ast R-CNN 采用了多項(xiàng)創(chuàng)新來提高訓(xùn)練和測試速度,同時(shí)有效提高了檢測精度。快速 R-CNN 可以訓(xùn)練出非常深的 VGG16 網(wǎng)絡(luò),不止比 R-CNN 快 9 倍,同時(shí)在測試時(shí)間上快了近 213 倍,且能在 PASCAL VOC 2012 上實(shí)現(xiàn)更高的 mAP。與 SPPnet 相比,F(xiàn)ast R-CNN 訓(xùn)練出的 VGG16 要快上 3 倍,測試速度上要快上 10 倍,同時(shí)結(jié)果也更準(zhǔn)確。
點(diǎn)擊閱讀原文,回看GitHub 相關(guān)文章
鋒網(wǎng) AI 科技評(píng)論:Zaur Fataliyev 是在 LG 電子的一名機(jī)器學(xué)習(xí)工程師,為了方便大家對(duì)帶有復(fù)現(xiàn)代碼的經(jīng)典頂會(huì)論文進(jìn)行查詢,他在 GitHub 上將這些論文進(jìn)行了統(tǒng)一打包:https://github.com/zziz/pwc,該名單將每周更新一次。
雷鋒網(wǎng) AI 科技評(píng)論將當(dāng)中用戶打星數(shù)超過 1w 的論文進(jìn)行簡要編譯,以饗讀者。
2017 年
1)Bridging the Gap Between Value and Policy Based Reinforcement Learning
縮小價(jià)值與強(qiáng)化學(xué)習(xí)政策差距的方法
打星數(shù):46593
收錄頂會(huì):NIPS
論文鏈接:http://papers.nips.cc/paper/6870-bridging-the-gap-between-value-and-policy-based-reinforcement-learning.pdf
復(fù)現(xiàn)代碼:https://github.com/tensorflow/models
簡介:論文基于熵正則化下的 softmax 時(shí)間值一致性與策略最優(yōu)性之間的關(guān)系,為價(jià)值和強(qiáng)化學(xué)習(xí)政策建立新的聯(lián)系。具體而言,作者證明了對(duì)應(yīng)任意動(dòng)作序列的最優(yōu)熵正則化策略概率的 softmax 一致動(dòng)作值——在無視出處的基礎(chǔ)上。據(jù)此,論文提出了一種全新的強(qiáng)化學(xué)習(xí)算法 - 路徑一致性學(xué)習(xí)(PCL),它可以最大限度減少從一致性與非策略性跡線中提取多步動(dòng)作序列的一致性錯(cuò)誤概念。作者研究了 PCL 在不同場景下的表現(xiàn),且證明 PCL 可以被看作涵蓋了 actor-critic 以及 Q-learning algorithms 的優(yōu)點(diǎn)。用于表示策略和相應(yīng) softmax 狀態(tài)值的模型深化了這種關(guān)系,從而消除了單獨(dú)評(píng)論的需求。實(shí)驗(yàn)結(jié)果表明,PCL 的幾個(gè)基準(zhǔn)測試結(jié)果明顯優(yōu)于強(qiáng)大的 actor-critic 以及 Q-learning algorithms。
2)REBAR: Low-variance, unbiased gradient estimates for discrete latent variable models
REBAR:針對(duì)離散潛變量模型的低方差、無偏梯度估計(jì)
打星數(shù):46593
收錄頂會(huì):NIPS
論文鏈接:http://papers.nips.cc/paper/6856-rebar-low-variance-unbiased-gradient-estimates-for-discrete-latent-variable-models.pdf
復(fù)現(xiàn)代碼:https://github.com/tensorflow/models
簡介:由于高方差梯度估計(jì)的存在,因此通過帶有離散潛變量的模型進(jìn)行學(xué)習(xí)是非常具有挑戰(zhàn)性的。業(yè)內(nèi)的做法一般是通過控制變量來減少 REINFORCE 估計(jì)的方差。近期的工作(Jang et al,2016; Maddi- son et al,2016)采用了不同的方法,其中包括引入持續(xù)松弛的離散變量,以產(chǎn)生低方差、但有偏差的梯度估計(jì)結(jié)果。論文通過一個(gè)新的控制變量將兩者結(jié)合起來,以產(chǎn)生低方差、且無偏差的梯度估計(jì)。最后,論文介紹了對(duì)連續(xù)松弛的修正方法,證明了松弛的緊密度是可以通過在線調(diào)整的,主要將其作為超參數(shù)進(jìn)行去除。模型最終在幾個(gè)基準(zhǔn)生成建模任務(wù)中獲得了先進(jìn)的方差減少結(jié)果,可以更快地進(jìn)行收斂并達(dá)到更好的最終對(duì)數(shù)似然結(jié)果。
3)Focal Loss for Dense Object Detection
針對(duì)密集物體檢測的焦點(diǎn)損失方案
打星數(shù):18356
收錄頂會(huì):ICCV
論文鏈接:http://openaccess.thecvf.com/content_iccv_2017/html/Lin_Focal_Loss_for_ICCV_2017_paper.html
復(fù)現(xiàn)代碼:https://github.com/facebookresearch/Detectron
簡介:這是迄今為止精度最高的基于 R-CNN 的兩步式檢測器,其分類器可應(yīng)用于稀疏的候選對(duì)象位置集。與此相對(duì)的是,應(yīng)用于常規(guī)、密集采樣的一步式探測器具在精度上已落后于兩步式探測器。論文對(duì)此作出了解釋——在訓(xùn)練過程中遇到極端前景 - 背景類不平衡現(xiàn)象是其核心原因。作者建議通過重塑標(biāo)準(zhǔn)交叉熵?fù)p失來解決這種不平衡的問題,核心方法是降低分配給分類例子的損失權(quán)重。論文提及的「焦點(diǎn)損失」將訓(xùn)練重點(diǎn)放在一組稀疏例子上,以防止否定因素在訓(xùn)練期間影響探測器。為了評(píng)估損失的有效性,作者設(shè)計(jì)并訓(xùn)練了一個(gè)被稱作 RetinaNet 的密集檢測器。最后的研究結(jié)果表明,當(dāng)使用焦點(diǎn)損失進(jìn)行訓(xùn)練時(shí),RetinaNet 能夠達(dá)到一步式探測器的速度,且在精度上超越所有的兩步式探測器。
2016 年
1)R-FCN: Object Detection via Region-based Fully Convolutional Networks
R-FCN:基于區(qū)域完全卷積網(wǎng)絡(luò)的對(duì)象檢測
打星數(shù):18356
收錄頂會(huì):NIPS
論文鏈接:https://papers.nips.cc/paper/6465-r-fcn-object-detection-via-region-based-fully-convolutional-networks.pdf
復(fù)現(xiàn)代碼:https://github.com/facebookresearch/Detectron
簡介:論文提出基于區(qū)域的完全卷積網(wǎng)絡(luò),以實(shí)現(xiàn)準(zhǔn)確、有效的物體檢測任務(wù)。與先前基于區(qū)域的檢測器(如快速/更快速的 R-CNN [7,19])相比,該基于區(qū)域的檢測器是完全卷積的。為了達(dá)到這一目標(biāo),作者提出基于位置的敏感得分圖,以解決圖像分類中存在的平移不變性與對(duì)象檢測平移方差之間的兩難問題。該方法可以采用完全卷積的主要圖像分類器,例如最新的殘余網(wǎng)絡(luò)(ResNets)[10],以用于進(jìn)行物體探測。該方法在基于 101 層 ResNet 的 PASCAL VOC 數(shù)據(jù)集(例如,2007 年的 83.6%mAP)上展現(xiàn)出有競爭力的結(jié)果。需要強(qiáng)調(diào)的是,模型最終實(shí)現(xiàn)了以每張圖像 170 毫秒進(jìn)行測試的時(shí)間速度,比快速 R-CNN 對(duì)要快上 2.5-20 倍。
2)Image Style Transfer Using Convolutional Neural Networks
基于卷積神經(jīng)網(wǎng)絡(luò)的圖像樣式轉(zhuǎn)換
打星數(shù):16435
收錄頂會(huì):CVPR
論文鏈接:http://openaccess.thecvf.com/content_cvpr_2016/html/Gatys_Image_Style_Transfer_CVPR_2016_paper.html
復(fù)現(xiàn)代碼:https://github.com/jcjohnson/neural-style
簡介:以不同樣式呈現(xiàn)圖像的語義內(nèi)容是一項(xiàng)很困難的圖像處理任務(wù)。可以說,先前的方法最大的限制是缺乏明確表示語義信息的圖像表示,以允許將圖像內(nèi)容與樣式進(jìn)行分離。作者通過使用用于物體識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)導(dǎo)出的圖像表示,使高級(jí)圖像的信息顯式化。論文介紹了一種藝術(shù)風(fēng)格的神經(jīng)算法,該方法可以分離與重新組合圖像內(nèi)容。該算法允許我們產(chǎn)生高質(zhì)量的新圖像,其任意照片內(nèi)容與眾多知名藝術(shù)品外觀進(jìn)行結(jié)合。論文結(jié)果為卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的深度圖像表示提供了一種全新見解,并展示了它們對(duì)高級(jí)階段的圖像合成潛力。
2015 年
1)Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
更快的 R-CNN:通過區(qū)域提議網(wǎng)絡(luò)實(shí)現(xiàn)實(shí)時(shí)目標(biāo)檢測
打星數(shù):18356
收錄頂會(huì):NIPS
論文鏈接:https://papers.nips.cc/paper/5638-faster-r-cnn-towards-real-time-object-detection-with-region-proposal-networks.pdf
復(fù)現(xiàn)代碼:https://github.com/facebookresearch/Detectron
簡介:目前最先進(jìn)的物體檢測網(wǎng)絡(luò)有賴區(qū)域提議算法來假設(shè)物體位置。類似 SPPnet [7] 和 Fast R-CNN [5] 這樣進(jìn)步網(wǎng)絡(luò)的出現(xiàn),有效減少了網(wǎng)絡(luò)檢測的運(yùn)行時(shí)間,然而也使區(qū)域提議計(jì)算成為瓶頸。作者在本文中介紹了能與檢測網(wǎng)絡(luò)共享全圖像卷積特征的區(qū)域提議網(wǎng)絡(luò)(RPN),從而實(shí)現(xiàn)幾乎無成本的區(qū)域提議檢測。RPN 是一個(gè)完全卷積的網(wǎng)絡(luò),可同時(shí)預(yù)測每個(gè)位置的對(duì)象邊界與對(duì)象分?jǐn)?shù)。RPN 通過端到端的訓(xùn)練以生成高質(zhì)量的區(qū)域提議,被快速 R-CNN 用于檢測任務(wù)。通過簡單的交替優(yōu)化,還可以訓(xùn)練 RPN 和快速 R-CNN 以共享卷積特征。對(duì)于非常深的 VGG-16 模型 [19],該檢測系統(tǒng)在 GPU 上的幀速率為 5fps(包含所有步驟),同時(shí)在 PASCAL VOC 上實(shí)現(xiàn)了最先進(jìn)的物體檢測精度(2007 年:73.2%mAP、2012 年:70.4%mAP),平均每張圖片使用了 300 個(gè)提案。
2)Fast R-CNN
打星數(shù):18356
收錄頂會(huì):ICCV
論文鏈接:http://openaccess.thecvf.com/content_iccv_2015/html/Girshick_Fast_R-CNN_ICCV_2015_paper.html
復(fù)現(xiàn)代碼:https://github.com/facebookresearch/Detectron
簡介:本文提出一種基于快速區(qū)域的卷積網(wǎng)絡(luò)方法(Fast R-CNN)用于物體檢測。快速 R-CNN 建立在先前工作基礎(chǔ)上,通過使用深度卷積網(wǎng)絡(luò)有效地對(duì)對(duì)象提議進(jìn)行分類。與之前的工作相比,F(xiàn)ast R-CNN 采用了多項(xiàng)創(chuàng)新來提高訓(xùn)練和測試速度,同時(shí)有效提高了檢測精度。快速 R-CNN 可以訓(xùn)練出非常深的 VGG16 網(wǎng)絡(luò),不止比 R-CNN 快 9 倍,同時(shí)在測試時(shí)間上快了近 213 倍,且能在 PASCAL VOC 2012 上實(shí)現(xiàn)更高的 mAP。與 SPPnet 相比,F(xiàn)ast R-CNN 訓(xùn)練出的 VGG16 要快上 3 倍,測試速度上要快上 10 倍,同時(shí)結(jié)果也更準(zhǔn)確。
雷鋒網(wǎng) AI 科技評(píng)論
擊右上方紅色按鈕關(guān)注“web秀”,讓你真正秀起來
純CSS制作一個(gè)評(píng)星組件,說出去都沒人信,你信嗎?
純CSS制作一個(gè)評(píng)星組件(說出去都沒人信)
如果讓你制作上面圖的效果,你會(huì)怎么開發(fā)了?可以下發(fā)評(píng)論說說你的想法。今天就來看看純CSS是如何實(shí)現(xiàn)這個(gè)效果的。
<div class="radio-stars"> <input class="sr-only" id="radio-5" type="radio" name="radio-star" value="5" /> <label class="radio-star" for="radio-5">5</label> <input class="sr-only" id="radio-4" type="radio" name="radio-star" value="4" checked="checked" /> <label class="radio-star" for="radio-4">4</label> <input class="sr-only" id="radio-3" type="radio" name="radio-star" value="3" /> <label class="radio-star" for="radio-3">3</label> <input class="sr-only" id="radio-2" type="radio" name="radio-star" value="2" /> <label class="radio-star" for="radio-2">2</label> <input class="sr-only" id="radio-1" type="radio" name="radio-star" value="1" /> <label class="radio-star" for="radio-1">1</label> <span class="radio-star-total"></span> </div>
radio-stars是容器,radio-star和sr-only一 一對(duì)應(yīng),默認(rèn)是 4 顆星,radio-star-total展示當(dāng)前星數(shù)/總星數(shù)。
下面就是重頭戲了
.radio-stars { display: inline-block; position: relative; unicode-bidi: bidi-override; direction: rtl; counter-reset: star-rating; font-size: 0; } .radio-stars:hover .radio-star::before { content: "☆"; } .radio-stars:hover .radio-star:hover::before, .radio-stars:hover .radio-star:hover ~ .radio-star::before { content: "★"; } .radio-star { display: inline-block; overflow: hidden; cursor: pointer; padding: 0 2px; width: 0.7em; direction: ltr; color: #1199ff90; font-size: 40px; white-space: nowrap; } .radio-star::before { content: "☆"; } .radio-star:hover, .radio-star:hover ~ .radio-star, input:checked ~ .radio-star { color: #1199ff; } input:checked ~ .radio-star { counter-increment: star-rating; } input:checked ~ .radio-star::before { content: "★"; } .radio-star-total { pointer-events: none; direction: ltr; unicode-bidi: bidi-override; position: absolute; right: -2em; bottom: 0.5em; color: gray; color: white; font-size: 20px; } .radio-star-total::before { content: counter(star-rating) "/5"; } .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; margin: -1px; padding: 0; clip: rect(0, 0, 0, 0); border: 0; } html { display: flex; justify-content: center; align-items: center; background: #f577a8; height: 100%; }
主要用到content、counter、counter-increment、counter-reset等屬性。
兼容性
純CSS制作一個(gè)評(píng)星組件(說出去都沒人信)
counter描述
插入計(jì)數(shù)器。
在CSS2.1中counter()只能被使用在content屬性上。
如果想重復(fù)多次計(jì)數(shù)器可以使用 counters()
counter-increment描述
counter-increment 屬性設(shè)置某個(gè)選取器每次出現(xiàn)的計(jì)數(shù)器增量。默認(rèn)增量是 1
如果使用了 “display: none”,則無法增加計(jì)數(shù)。如使用 “visibility: hidden”,則可增加計(jì)數(shù)。
喜歡小編的點(diǎn)擊關(guān)注,了解更多知識(shí)!
源碼地址請(qǐng)點(diǎn)擊下方“了解更多”
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。