Każdy styl dla input
wpływa na każdy element wejściowy. Czy istnieje sposób określenia stylu, który ma być stosowany tylko do pól wyboru bez stosowania klasy do każdego elementu pola wyboru?
178
Dzięki CSS 2 możesz to zrobić:
input[type='checkbox'] { ... }
Powinno to być do tej pory dość szeroko obsługiwane. Zobacz wsparcie dla przeglądarek
outline
, nieborder
, dla wyboru.Tworzę własne rozwiązanie bez etykiety
źródło
Coś, co niedawno odkryłem do stylizacji przycisków radiowych i pól wyboru. Wcześniej musiałem używać jQuery i innych rzeczy. Ale to jest głupio proste.
Można zrobić to samo dla wyboru, oczywiście zmienić
input[type=radio]
nainput[type=checkbox]
i zmianyborder-radius:15px;
doborder-radius:4px;
.Mam nadzieję, że jest to dla Ciebie przydatne.
źródło
Dobrze sprawdzają się też zajęcia, takie jak:
źródło
form
tagi nie byłyby konieczne, aby powiązać kontrolę wejściową z domyślną kontrolką przesyłania?Możesz zastosować tylko do określonego atrybutu, wykonując:
Wyjaśnia to tutaj .
źródło
Ale zadziała to tylko w przeglądarkach z wyjątkiem IE7 i starszych, w przypadku tych będziesz musiał użyć klasy.
źródło
Trident dostarcza
::-ms-check
pseudoelement do kontrolek pól wyboru i przycisków opcji. Na przykład:W przeglądarce IE10 w systemie Windows 8 wyświetla się to następująco:
źródło
Ponieważ IE6 nie obsługuje selektorów atrybutów, można łączyć skrypt widziany tylko przez IE6 (z komentarzami warunkowymi) i jQuery lub IE7.js autorstwa Deana Edwardsa.
Wybór użycia klas lub jQuery lub IE7.js zależy od twoich upodobań i niechęci oraz innych potrzeb (może przezroczystość PNG-24 w całej witrynie bez konieczności polegania na PNG-8 z pełną przezroczystością, która ustępuje 1-bitowej przezroczystości w IE6 - utworzone tylko przez Fireworks i pngnq itp.)
źródło
Chociaż CSS zapewnia sposób na wykonanie stylu charakterystycznego dla typu pola wyboru lub innego typu, będą problemy z przeglądarkami, które tego nie obsługują.
Myślę, że jedyną opcją w tym przypadku będzie zastosowanie klas do pól wyboru.
po prostu dodaj class = "checkbox" do swoich pól wyboru.
Następnie utwórz ten styl w swoim kodzie css.
Możesz zrobić jedną rzecz:
main.css
ie.css
Następnie użyj specyficznego dla IE css:
Nadal będziesz musiał dodać klasę, aby działała w IE, i nie będzie działać w innych przeglądarkach innych niż IE, które nie obsługują IE. Ale sprawi, że Twoja witryna będzie myśleć przyszłościowo z kodem css, a gdy IE otrzyma wsparcie, będziesz mógł usunąć np. Określony kod css, a także klasy css z pól wyboru.
źródło