Jak zmienić kolor tła opcji zaznacz pole?
Mam pole wyboru i próbuję zmienić kolor tła opcji po kliknięciu pola wyboru i wyświetleniu wszystkich opcji.
Html
<select>
<option val="">Please choose</option>
<option val="1">Option 1</option>
<option val="2">Option 2</option>
<option val="3">Option 3</option>
<option val="4">Option 4</option>
</select>
Css
select{
margin:40px;
background: rgba(0,0,0,0.3);
color:#fff;
text-shadow:0 1px 0 rgba(0,0,0,0.4);
}
10 answers
Musisz umieścić background-color
na znaczniku option
, a nie select
...
select option {
margin: 40px;
background: rgba(0, 0, 0, 0.3);
color: #fff;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}
Jeśli chcesz stylizować każdy z tagów option
.. użyj selektora css attribute
:
select option {
margin: 40px;
background: rgba(0, 0, 0, 0.3);
color: #fff;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}
select option[value="1"] { /* value not val */
background: rgba(100, 100, 100, 0.3);
}
select option[value="2"] { /* value not val */
background: rgba(200, 200, 200, 0.3);
}
/* ... */
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-16 14:18:07
Nie wiem, czy to rozważałeś, czy nie, ale jeśli Twoja aplikacja opiera się na kolorowaniu różnych grup przedmiotów, prawdopodobnie powinieneś użyć znacznika <optgroup>
połączonego z klasą do dalszego odwoływania się. Na przykład:
<select>
<optgroup label="Numbers" class="green">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</optgroup>
<optgroup label="Letters" class="blue">
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
</optgroup>
</select>
A następnie w nagłówku dokumentu napisz css w następujący sposób:
<style type="text/css">
.green option{
background-color:#0F0;
}
.blue option{
background-color:#00F;
}
</style>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-21 21:30:41
Tak możesz to ustawić używając tego,
option:not(:checked) { }
Sprawdź to demo jsFiddle
HTML
<select>
<option val="">Please choose</option>
<option val="1">Option 1</option>
<option val="2">Option 2</option>
<option val="3">Option 3</option>
<option val="4">Option 4</option>
</select>
CSS
select{
margin:40px;
background: rgba(0,0,0,0.3);
color:#FFF;
text-shadow:0 1px 0 rgba(0,0,0,0.4);
}
option:not(:checked) {
background-color: white;
color:#000;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-20 10:37:31
Podobne do niektórych odpowiedzi, ale tak naprawdę nie podane, jest dodanie klasy do rzeczywistego znacznika opcji i użycie klas css...to obecnie działa dla mnie bez problemu na IE(patrz wyżej ss).
<select id="reviewAction">
<option class="greenColor">Accept and Advance Status</option>
<option class="redColor">Return for Modifications</option>
</select>
CSS:
.greenColor{
background-color: #33CC33;
}
.redColor{
background-color: #E60000;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-08 21:21:52
Jeśli naprawdę chcesz stylizować within a, rozważ przejście do rozwijanej listy opartej na Javascript/CSS, takiej jak http://getbootstrap.com/2.3.2/components.html#dropdowns lub https://silviomoreto.github.io/bootstrap-select/examples/. dzieje się tak dlatego, że przeglądarki takie jak IE nie pozwalają na stylizowanie opcji w elementach . Chrome / OSX również ma ten problem - nie można stylować opcji.
Do tego podejścia dołączone jest jednak Ostrzeżenie. Tego typu Menu Działa bardzo inaczej na platformach mobilnych, ponieważ nie są używane elementy natywne. Mogą również mieć irytujące dziwactwa na pulpicie. Moja rada to 1) nie pisz własnych i 2) Znajdź bibliotekę, która została naprawdę dobrze przetestowana.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:24
$htmlIngressCss='<style>';
$multiOptions = array("" => "All");
$resIn = $this->commonDB->getIngressTrunk();
while ($row = $resIn->fetch()) {
if($row['IsActive']==0){
$htmlIngressCss .= '.ingressClass select, option[value="'.$row['TrunkInfoID'].'"] {color:red;font-weight:bold;}';
}
$multiOptions[$row['TrunkInfoID']] = $row['IngressTrunkName'];
}
$htmlIngressCss.='</style>';
Dodaj $htmlIngressCss
w swojej części html:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-02 09:18:22
Po prostu zmień kolor bg
select {
background: #6ac17a;
color:#fff;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-07 06:32:14
Inną opcją jest użycie Javascript:
if (document.getElementById('selectID').value == '1') {
document.getElementById('optionID').style.color = '#000';
(nie tak czysty jak selektor atrybutów CSS, ale bardziej wydajny)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-11 20:53:09
Moje selekcje nie będą kolorować tła, dopóki nie dodam !ważne dla stylu.
input, select, select option{background-color:#FFE !important}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-28 19:26:46
Oto czego się nauczyłem na ten temat!
Specyfikacja CSS 2 nie rozwiązała problemu w jaki sposób elementy formularza powinny być prezentowane użytkownikom!
Przeczytaj tutaj: smashing magazine
Ostatecznie , nigdy nie znajdziesz żadnego artykułu technicznego z w3c lub innego zaadresowanego do tego tematu. Stylizacja elementów formularzy w poszczególnych polach wyboru nie jest w pełni obsługiwana, można jednak poruszać się po niej... z niektórymi wysiłek!
Stylizacja elementów formularza HTML
Nie trać czasu na hacki E takie przeczytaj linki i dowiedz się, jak profesjonaliści wykonują swoją pracę!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-05 19:15:17