Je suis de style input[type=range]
en utilisant CSS, et fait avec thumb
et track
.
Tous les trois (-ms
, -moz
, -webkit
) ont le préfixe approprié. Mais, je ne sais pas quel préfixe de vendeur est adapté au style progress
sur navigateur Webkit, tels que Chrome. Sur Internet Explorer et Microsoft Edge, -ms-fill-lower
fonctionne très bien.
Sur Firefox, l'utilisation de -moz-range-progress
a résolu le problème.Styling plage d'entrée inférieure en CSS pour Webkit?
input[type=range] {
\t /*removes default webkit styles*/
\t -webkit-appearance: none;
\t
\t /*fix for FF unable to apply focus style bug */
\t border: 1px solid white;
\t
\t /*required for proper track sizing in FF*/
\t width: 350px;
}
/* Webkit, Chrome & Safari */
input[type=range]::-webkit-slider-runnable-track {
\t width: 300px;
\t height: 5px;
\t background: #ccc;
\t border: none;
\t border-radius: 3px;
}
input[type=range]::-webkit-slider-thumb {
\t -webkit-appearance: none;
\t border: none;
\t height: 16px;
\t width: 16px;
\t border-radius: 50%;
\t background: #004d66;
\t margin-top: -7px;
}
input[type=range]:focus {
\t outline: none;
}
input[type=range]:focus::-webkit-slider-runnable-track {
\t background: #ddd;
}
/* moz://a Firefox */
input[type=range]::-moz-range-track {
\t /* width: 150px;
\t height: 5px; */
\t background: #ccc;
\t border: none;
\t border-radius: 3px;
}
input[type=range]::-moz-range-thumb {
\t border: none;
\t height: 16px;
\t width: 16px;
\t border-radius: 50%;
\t background: #004d66;
}
input[type=range]::-moz-range-progress {
\t background: #33ccff;
\t border-radius: 10px;
\t height: 5px;
}
/*hide the outline behind the border*/
input[type=range]:-moz-focusring{
\t outline: 1px solid white;
\t outline-offset: -1px;
}
/* Microsoft */
input[type=range]::-ms-track {
\t
\t height: 2px;
\t /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
\t background: transparent;
\t
\t /*leave room for the larger thumb to overflow with a transparent border */
\t border-color: transparent;
\t border-width: 6px 0;
\t /*remove default tick marks*/
\t color: transparent;
}
input[type=range]::-ms-thumb {
\t border: none;
\t height: 16px;
\t width: 16px;
\t border-radius: 50%;
\t background: #004d66;
\t margin-top: 1px;
}
input[type=range]::-ms-fill-lower {
\t background: #33ccff;
\t border-radius: 10px;
\t height: 5px;
}
input[type=range]::-ms-fill-upper {
\t background: #ccc;
\t border-radius: 10px;
}
input[type=range]:focus::-ms-fill-lower {
\t background: #44ddff;
}
input[type=range]:focus::-ms-fill-upper {
\t background: #ddd;
}
<input type="range" />
Je l'ai déjà lu Styling input range for webkit with pure CSS et essayé sur le mien,
mais il fonctionne étrangement lorsque plusieurs entrées [type = plage] s sont sur un seul document. Donc, la question est,
Y a-t-il un préfixe de vendeur approprié pour la piste de style que le pouce est déjà passé, seulement en utilisant CSS? Au meilleur de ma connaissance, ce n'est pas possible.
Pourriez-vous fournir un [mcve], de préférence sous la forme d'un extrait ici dans la question. –
@MrLister J'ai ajouté ma feuille de style. [Ce] (http://brennaobrien.com/blog/2014/05/style-input-type-range-in-every-browser.html) code est la base de la mienne. –