Wojciech Małota Programista
Temat: Niewidoczny tekst
Witajcie,Często jest tak, że chcę aby na stronie była jakaś ikonka symbolizująca jakiś element. Chcę, żeby dla normalnego usera był to obrazek ale żeby po wyłączeniu styli żeby zamiast obrazka pokazywał się tekst.
W przypadku gdy opisywana rzecz dotyczy pola formularza to wygląda to mniej więcej tak:
<label class="icon" for="fieldId"><span>Tekst</span></label>
W stylach daję:
label.icon { background: url('icon.gif') center center; background-repeat: no-repeat; display: inline-block; width: 15px; height: 15px; }
label.icon span { display: none; }
Czasem chcę żeby ikonka była linkiem wtedy zamiast elementu label używam a. No i działa tak jak chcę. Jednak mam fioła na punkcie używania nadmiarowych elementów. A ten span w zasadzie nie jest do niczego potrzebny, zwłaszcza w sytuacjach kiedy owy tekst chcę ukrywać tylko czasami, a kod html jest generowany przez uniwersalną klasę zaś całą sprawę wyglądu regulują style.
Chciałbym aby kod html wyglądał tak:
<label class="icon" for="fieldId">Tekst</label>
W takim wypadku próbowałem ukryć tekst przez ustawienie ejgo koloru na przezroczysty:
label.icon { color: transparent; }
Niestety działa to tylko w Firefoxie i Safari.
Ktoś może opanował taki trick? Może jednak nie da się tego zrobić?