Czy można usunąć przerywaną linię otaczającą wybrany element w wybranym elemencie?
Próbowałem dodać outline
właściwość w CSS, ale to nie działało, przynajmniej nie w FF.
<style>
select { outline:none; }
</style>
Aktualizacja
Zanim przejdziesz dalej i usuniesz konspekt, przeczytaj to.
http://www.outlinenone.com/
Odpowiedzi:
Znalazłem rozwiązanie, ale jest matką wszystkich hacków, mam nadzieję, że posłuży jako punkt wyjścia dla innych, solidniejszych rozwiązań. Wadą (moim zdaniem zbyt dużym) jest to, że każda przeglądarka, która nie obsługuje,
text-shadow
ale obsługujergba
(IE 9), nie wyrenderuje tekstu, chyba że użyjesz biblioteki takiej jak Modernizr (nie przetestowana, tylko teoria).Firefox używa koloru tekstu do określenia koloru przerywanej ramki. Więc powiedz, jeśli to zrobisz ...
Firefox wyrenderuje przerywaną ramkę jako przezroczystą. Ale oczywiście twój tekst też będzie przezroczysty! Musimy więc jakoś wyświetlić tekst.
text-shadow
przychodzi na ratunek:Umieściliśmy cień tekstu bez przesunięcia i bez rozmycia, aby zastąpić tekst. Oczywiście starsza przeglądarka nic z tego nie rozumie, więc musimy zapewnić rezerwę dla koloru:
Wtedy do gry wkracza IE9: obsługuje on,
rgba
ale nie obsługuje cień tekstu, więc otrzymasz pozornie puste pole wyboru. Pobierz swoją wersję Modernizr ztext-shadow
wykrywaniem i zrób ...Cieszyć się.
źródło
@-moz-document url-prefix() { ::-moz-focus-inner {border: none} select:-moz-focusring { color: transparent; text-shadow: 0px 0px 0px #000; } }
Cóż, odpowiedź Duopixel jest po prostu doskonała. Jeśli pójdziemy o krok dalej, możemy uczynić go kuloodpornym.
Proszę bardzo, działa tylko w przeglądarce Firefox i brzydki kropkowany kontur wokół wybranej opcji zniknął.
źródło
all
wewnątrz przejść jest jak strzelanie z pistoletu Gatlinga w locie.Oto współpraca rozwiązań pozwalających rozwiązać problemy ze stylem w polach wyboru przeglądarki Firefox. Użyj tego selektora CSS jako części swojego zwykłego resetowania CSS.
Klasa usuwa kontur zgodnie z pytaniem, ale także usuwa obraz tła (ponieważ zwykle używam niestandardowej strzałki rozwijanej i strzałki rozwijanej systemu Firefoxes nie można obecnie usunąć). Jeśli używasz obrazu tła dla czegoś innego niż obraz rozwijany, po prostu usuń linię
background-image: none !important;
źródło
-moz-appearance
nanone
.select::-moz-focus-inner
selektora, co czyni je mniej skutecznymi. Dlatego ten dostaje mój ⬆.select:-moz-focusring
wraz zcolor: transparent
itext-shadow: 0 0 0 #000
usunięto irytujące obramowanie ostrości w przeglądarce Firefox v63Będzie to dotyczyło wszystkich wersji przeglądarki Firefox
Możesz chcieć usunąć! Ważne, jeśli planujesz, aby konspekt pojawiał się na innych stronach w Twojej witrynie, które używają tego samego arkusza stylów.
źródło
Ogólnie rzecz biorąc, formantów formularzy nie można stylizować z taką dokładnością. Nie ma przeglądarki, o której mi wiadomo, która obsługuje rozsądny zakres właściwości we wszystkich kontrolkach. To jest powód, dla którego istnieje miliard bibliotek JavaScript, które „fałszywie” tworzą kontrolki z obrazami i innymi elementami HTML i emulują ich oryginalną funkcjonalność za pomocą kodu:
http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/
...
źródło
<select onchange="this.blur();">
Jeśli tego użyjesz, ramka pozostanie, dopóki nie wybierzesz pozycji z listy.
źródło
Wypróbuj jedno z poniższych:
Odniesienie
źródło
a
elemencie, ale nie działa naselect
elemencie.Oto rozwiązanie
źródło
10px solid red
i nie mogę znaleźć miejsca, w którym się pojawia.Usuń kontur / kropkowaną ramkę z Firefox All Selectable Tags.
Umieść ten wiersz kodu w swoim arkuszu stylów:
źródło
Dodaj border-style: none do wyboru w CSS.
źródło
działa w 100%
źródło
Spowoduje to usunięcie fokusu z
select
elementu i konspektu :Chociaż nie jest to pozbawione wad w innych przeglądarkach. Będziesz chciał sprawdzić przeglądarkę, której używa użytkownik:
źródło