Jestem stosunkowo nowy w CSS i wykorzystałem go do zmiany stylu i formatowania tekstu.
Chciałbym teraz użyć go do wstawienia tekstu, jak pokazano poniżej:
<span class="OwnerJoe">reconcile all entries</span>
Mam nadzieję, że uda mi się to pokazać jako:
Zadanie Joe: uzgadnij wszystkie wpisy
To znaczy, po prostu dlatego, że należę do klasy „Owner Joe”, chcę, aby tekst Joe's Task:
był wyświetlany.
Mógłbym to zrobić za pomocą kodu takiego jak:
<span class="OwnerJoe">Joe's Task:</span> reconcile all entries.
Ale wydaje się to okropnie zbędne zarówno dla określenia klasy, jak i tekstu.
Czy można zrobić to, czego szukam?
EDYCJA Jednym z pomysłów jest próba ustawienia go jako ListItem, <li>
gdzie „kula” to tekst „Zadanie Joe”. Widzę przykłady ustawiania różnych stylów pocisków, a nawet obrazów dla pocisków. Czy do wypunktowania listy można użyć małego bloku tekstu?
label.required:before {content: "* ";}
dodanie gwiazdki przed wymaganymi polami.Odpowiedzi:
Jest, ale wymaga przeglądarki obsługującej CSS2 (wszystkie główne przeglądarki, IE8 +).
Ale wolałbym w tym celu używać Javascript. Z jQuery:
źródło
.OwnerJoe:before
I.OwnerJoe::before
Odpowiedź przy użyciu jQuery, którą wszyscy lubią, ma poważną wadę, polegającą na tym, że nie jest skalowalna (przynajmniej tak, jak jest napisana). Myślę, że Martin Hansen ma właściwy pomysł, który polega na użyciu
data-*
atrybutów HTML5 . I możesz nawet poprawnie używać apostrofu:HTML:
css:
wynik:
źródło
Sprawdź także funkcję attr () atrybutu treści CSS. Wysyła dany atrybut elementu jako węzeł tekstowy. Używaj go w ten sposób:
Lub nawet z nowymi niestandardowymi atrybutami danych HTML5:
źródło
div[data-employeename]:before
.Po prostu napisz to w następujący sposób:
źródło