2013-06-14 10 views
8

mam pewne '<a> <i> <label>' w moją stronę jak poniżej z klasąJak używać określonego słowa z klasy w css?

<a class="icon-home"></a> 
<label class="icon-pencil"></label> 
<i class="icon-display"></i> 

muszę utworzyć css z margin-right:10px gdy klasa zacząć "icon-"

niektóre rzeczy jak poniżej:

<style> 
.icon-* {margin-right:10px} 
</style> 
+2

Dodałbym inną klasę i użyłbym tego, gdybym to robił. Przykład: 'class =" icons icon-home ">' then '.icons {margin-right: 10px}' –

Odpowiedz

11

Try to:

[class^="icon-"], [class*=" icon-"] { 
    margin-right: 10px; 
} 
+0

@ Zenith Wiem, ale co jeśli ma dwie klasy? –

+0

Nie zauważyłem miejsca przed drugim - dobra robota :) – lifetimes

+0

Co jest lepsze dla wydajności - robienie selektora w ten sposób lub dodanie dodatkowej klasy nazywanej ikoną do wszystkich obiektów, a następnie użycie '.icon {}'? – Pete

0

można użyć jak ten

[class*="icon-"]{ margin-right:10px; }

Gwiazda wyznacza że wartość postępowanie musi pojawić się gdzieś w wartości klasowej. W ten sposób ten obejmuje icon-

[class^="icon-"]{ margin-right:10px; }

To Cinch symbolem karatowego. Jest najczęściej używany w wyrażeniach regularnych do oznaczania początku ciągu znaków. Jeśli chcemy kierować wszystkie tagi o numerze class zaczynającym się od icon-, możemy użyć selektora podobnego do urywków pokazanych powyżej.

+2

Nie widzę, gdzie "col" ma cokolwiek wspólnego z tym pytaniem - czy możesz je rozwinąć? –

+0

to nazwa klasy, którą możesz zmodyfikować zgodnie z Tobą –

+0

@MarkSchultheiss Zaktualizowałem moją odpowiedź, co teraz mówisz –

0

Można również użyć składni kreska-mecz:

[class|="icon"]{ margin-right:10px; } 

To będzie prawidłowo dopasować:

<a class="icon-home"></a> 
<label class="icon-pencil"></label> 
<i class="icon-display"></i> 

... z dodatkowe korzyści z również dopasowanie coś takiego:

<a class="icon"></a> /* No hyphen required */ 

... podczas gdy nadal nie można tego ukryć:

<a class="icons"></a> 
/* Won't match this. "icon" can *only* be followed by a dash */ 

Takie podejście ma pewne ograniczenia zbyt:

  • nie wybiorą, czy istnieje white-space po „ikony”
  • ikon musi być na początku napisu atrybutu class (jak z ^=)

Testy tutaj: http://jsfiddle.net/mhfaust/Bh95t/

Powiązane problemy