Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jokita18

Sistema de feedback

Recommended Posts

Olá eu tenho este código css

/* :not(:checked) is a filter, so that browsers that don’t support :checked don’t
   follow these rules. Every browser that supports :checked also supports :not(), so
   it doesn’t make the test unnecessarily selective */
.rating:not(:checked) > input {
    position:absolute;
    top:-9999px;
    clip:rect(0,0,0,0);
}

.rating:not(:checked) > label {
    float:right;
    width:1em;
    padding:0 .1em;
    overflow:hidden;
    white-space:nowrap;
    cursor:pointer;
    font-size:200%;
    line-height:1.2;
    color:#ddd;
    text-shadow:1px 1px #bbb, 2px 2px #666, .1em .1em .2em rgba(0,0,0,.5);
}

.rating:not(:checked) > label:before {
    content: '★ ';
}

.rating > input:checked ~ label {
    color: #f70;
    text-shadow:1px 1px #c60, 2px 2px #940, .1em .1em .2em rgba(0,0,0,.5);
}

.rating:not(:checked) > label:hover,
.rating:not(:checked) > label:hover ~ label {
    color: gold;
    text-shadow:1px 1px goldenrod, 2px 2px #B57340, .1em .1em .2em rgba(0,0,0,.5);
}

.rating > input:checked + label:hover,
.rating > input:checked + label:hover ~ label,
.rating > input:checked ~ label:hover,
.rating > input:checked ~ label:hover ~ label,
.rating > label:hover ~ input:checked ~ label {
    color: #ea0;
    text-shadow:1px 1px goldenrod, 2px 2px #B57340, .1em .1em .2em rgba(0,0,0,.5);
}

.rating > label:active {
    position:relative;
    top:2px;
    left:2px;
}

Para aplicar neste html

  <fieldset class="rating">
    <legend>Please rate:</legend>
    <input type="radio" id="star5" name="rating" value="5" /><label for="star5" title="Rocks!">5 stars</label>
    <input type="radio" id="star4" name="rating" value="4" /><label for="star4" title="Pretty good">4 stars</label>
    <input type="radio" id="star3" name="rating" value="3" /><label for="star3" title="Meh">3 stars</label>
    <input type="radio" id="star2" name="rating" value="2" /><label for="star2" title="Kinda bad">2 stars</label>
    <input type="radio" id="star1" name="rating" value="1" /><label for="star1" title="Sucks big time">1 star</label>
</fieldset>

A ideia é gravar o valor numa tabela mysql e está tudo a correr bem o problema é se quiser exibir este feedback como faço para se o valor for = 1 ele colorir só a primeira estrela. Se o valor que receber for dois ele colorir duas estrelas e assim sucessivamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Passa o valor numa classe adicionar do fieldset, e formate os atributos dos inputs com a ajuda de seletores específicos, como o :nth-child(n) (no caso de todas as estrelas, basta ser generalista para os inputs).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Passa o valor numa classe adicionar do fieldset, e formate os atributos dos inputs com a ajuda de seletores específicos, como o :nth-child(n) (no caso de todas as estrelas, basta ser generalista para os inputs).

André desde já muito obrigado pela ajuda.

certamente por ignorância de minha parte da fui capaz de perceber exactamente o que quis dizer. pode por favor fazer um pequeno exemplo?

Muito obrigado mais uma vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.