2016-07-01 151 views
0

晚安。CSS星级评分

大家好,我有一个问题:我的页面中有一个单选按钮星级分级小部件,此时星星彼此接近,我需要将它们分开(填充div的witdh)。

HTML

<div class="stars-div"> 
    <div class="stars"> 
     <input class="star-input star-5" id="star-5" type="radio" name="star"/> 
     <label class="star-icon star-5" for="star-5"></label>         
     <input class="star-input star-4" id="star-4" type="radio" name="star"/> 
     <label class="star-icon star-4" for="star-4"></label> 
     <input class="star-input star-3" id="star-3" type="radio" name="star"/> 
     <label class="star-icon star-3" for="star-3"></label> 
     <input class="star-input star-2" id="star-2" type="radio" name="star"/> 
     <label class="star-icon star-2" for="star-2"></label> 
     <input class="star-input star-1" id="star-1" type="radio" name="star"/> 
     <label class="star-icon star-1" for="star-1"></label> 
    </div> 
</div> 

CSS

.stars-div { 
    padding-top: 9.8%; 
    padding-left: 5% 
} 


.stars { 
    display: inline-block; 
    width: 100% 
} 

.star-input { 
    display: none; 
} 

.star-icon { 
    float: right; 
    padding: 10px; 
    font-size: 50px; 
} 

.star-input:checked ~ .star-icon:before { 
    content: '\f005'; 
    color: #FD4; 
} 

.star-icon:hover:before, .star-icon:hover ~ .star-icon:before { 
    content: '\f005'; 
    color: #ffea8e; 
} 

.star-icon:before { 
    content: '\f006'; 
    font-family: FontAwesome; 
} 

注:当我尝试使用引导程序图标或使用任何div标签周围的输入只有一个星将被填充。

我能做些什么来解决这个问题?

非常感谢。

回答

1

看到这里jsfiddle

只是划分成DIV 5段(你有5颗星)

对于其他问题(与明星填写)你能不能给我一个例子吗?

代码:

.star-icon { 
    float: right; 
    padding: 10px; 
    font-size: 50px; 
    box-sizing:border-box; 
    width:20%; 
} 
+0

非常感谢你,它的工作。 PD:与填充的问题是,如果我使用这个例如

,我不会在我点击的那个之前填满星星,但是随着你的帮助,它正在工作,因为我需要 –

0

你不得不做出这样的明星在一个DIV块,使得它会在所有设备上运行。

HTML:

<div class="row"> 
    <div class="col-md-12 col-sm-12 col-xs-12"> 
    <div class="stars-div"> 
     <div class="stars"> 
     <input class="star-input star-5" id="star-5" type="radio" name="star"/> 
     <label class="star-icon star-5" for="star-5"></label>         
     <input class="star-input star-4" id="star-4" type="radio" name="star"/> 
     <label class="star-icon star-4" for="star-4"></label> 
     <input class="star-input star-3" id="star-3" type="radio" name="star"/> 
     <label class="star-icon star-3" for="star-3"></label> 
     <input class="star-input star-2" id="star-2" type="radio" name="star"/> 
     <label class="star-icon star-2" for="star-2"></label> 
     <input class="star-input star-1" id="star-1" type="radio" name="star"/> 
     <label class="star-icon star-1" for="star-1"></label> 
     </div> 
    </div> 
    </div> 
</div> 

CSS:

.stars-div { 
    padding-top: 9.8%; 
    padding-left: 1% 
} 


.stars { 
    display: inline-block; 
    width: 100% 
} 

.star-input { 
    display: none; 
} 

.star-icon { 
    float: right; 
    padding: 1%; 
    font-size: 50px; 
} 

.star-input:checked ~ .star-icon:before { 
    content: '\f005'; 
    color: #FD4; 
} 

.star-icon:hover:before, .star-icon:hover ~ .star-icon:before { 
    content: '\f005'; 
    color: #ffea8e; 
} 

.star-icon:before { 
    content: '\f006'; 
    font-family: FontAwesome; 
}