Mam stronę HTML z elementami div, które mają identyfikator (y) w postaci s1 , s2 i tak dalej.
<div id="sections">
<div id="s1">...</div>
<div id="s2">...</div>
...
</div>
Chcę zastosować właściwość css do podzbioru tych sekcji / elementów div (w zależności od identyfikatora). Jednak za każdym razem, gdy dodam element div , muszę osobno dodać css dla sekcji, tak jak to.
//css
#s1{
...
}
Czy jest coś takiego jak wyrażenia regularne w css, których mogę użyć do nadania stylu zestawowi elementów div .
class
atrybutu do identyfikowania klasy elementów z tymi identyfikatoramiOdpowiedzi:
Możesz zarządzać wybieraniem tych elementów bez jakiejkolwiek formy wyrażenia regularnego, jak pokazują poprzednie odpowiedzi, ale aby odpowiedzieć bezpośrednio na pytanie, tak, możesz użyć formy wyrażenia regularnego w selektorach:
Oznacza to, że wybierz wszystkie elementy div wewnątrz elementu div #sections, które mają identyfikator zaczynający się na literę „s”.
Zobacz skrzypce tutaj .
Dokumentacja selektora W3 CSS tutaj .
źródło
Jako uzupełnienie tej odpowiedzi możesz użyć,
$
aby uzyskać dopasowania końcowe i*
uzyskać dopasowania w dowolnym miejscu w nazwie wartości.Pasuje wszędzie:
.col-md
,.left-col
,.col
,.tricolor
, itd.Mecze na początku:
.col-md
,.col-sm-6
, itd.Mecze na zakończenie:
.left-col
,.right-col
, itd.źródło
Identyfikator służy do jednoznacznej identyfikacji elementu . Wszelkie zastosowane do niego style również powinny być unikalne dla tego elementu. Jeśli masz style, które chcesz zastosować do wielu elementów, powinieneś dodać do nich klasę, zamiast polegać na selektorach ID ...
i
Lub w twoim konkretnym przypadku możesz wybrać wszystkie podziały w kontenerze nadrzędnym, jeśli nic innego nie jest w nim, na przykład:
źródło
Przede wszystkim istnieje wiele, wiele sposobów dopasowywania elementów w dokumencie HTML. Zacznij od tego odniesienia, aby zobaczyć niektóre z dostępnych selektorów / wzorców, których możesz użyć do zastosowania reguły stylu do elementu (elementów).
http://www.w3.org/TR/selectors/
Dopasuj wszystkie elementy,
div
które są bezpośrednimi potomkami#main
.Dopasuj wszystkie
div
s, które są bezpośrednimi lub pośrednimi potomkami#main
.Dopasuj pierwszy,
div
który jest bezpośrednim potomkiem#sections
.Dopasuj a
div
z określonym atrybutem.źródło
Możesz po prostu dodać klasę do każdego ze swoich DIV i zastosować regułę do klasy w ten sposób:
HTML:
CSS:
źródło
.thepage #someid
ale może być naprawdę długa w zaawansowanym stylu tabeli lub listy. To nie była krytyka twojej odpowiedzi, a raczej ogólna rada rozszerzająca twoją odpowiedź :-)Zwykle używam,
*
gdy chcę uzyskać wszystkie ciągi zawierające poszukiwane znaki.*
użyte w wyrażeniu regularnym, zastępuje wszystkie znaki.Użyty w SASS lub CSS byłby podobny
[id*="s"]
i dostałby wszystkie elementy DOM z id "s ......".źródło
Wypróbuj moje ogólne wyrażenie regularne CSS
Demo https://regexr.com/4a22i
źródło
jest też inny prosty sposób na wybranie poszczególnych elementów w css ...
jeśli masz tylko kilka elementów do wyboru i nie chcesz zawracać sobie głowy klasami, to też się sprawdzi.
źródło