Mam tag w moim html:
<h1>My Website Title Here</h1>
Za pomocą css chcę zamienić tekst na moje rzeczywiste logo. Mam logo, że nie ma problemu, zmieniając rozmiar tagu i umieszczając obraz tła za pomocą css. Nie mogę jednak wymyślić, jak pozbyć się tekstu. Widziałem to wcześniej, po prostu wypychając tekst z ekranu. Problem polega na tym, że nie pamiętam, gdzie to widziałem.
Odpowiedzi:
To jest jeden sposób:
Oto kolejny sposób, aby ukryć tekst, unikając ogromnego pola 9999 pikseli, które utworzy przeglądarka:
źródło
Dlaczego nie po prostu użyć:
źródło
color: transparent;
współpracuje zuser-select: none;
, chyba że zastąpisz kolor.Po prostu dodaj
font-size: 0;
do elementu zawierającego tekst.źródło
Najbardziej przyjaznym dla różnych przeglądarek sposobem jest napisanie HTML jako
następnie użyj CSS, aby ukryć zakres i zastąpić obraz
Jeśli możesz użyć CSS2, istnieje kilka lepszych sposobów korzystania z tej
content
właściwości, ale niestety sieć nie jest jeszcze w 100% dostępna.źródło
Ukrywanie tekstu z myślą o ułatwieniach dostępu:
Oprócz innych odpowiedzi, oto inne przydatne podejście do ukrywania tekstu.
Ta metoda skutecznie ukrywa tekst, ale pozwala pozostać widocznym dla czytników ekranu. Jest to opcja do rozważenia, czy dostępność stanowi problem.
Warto zauważyć, że ta klasa jest obecnie używana w Bootstrap 3 .
Jeśli chcesz przeczytać o dostępności:
Inicjatywa dostępności sieci (WAI)
Dokumentacja dostępności MDN
źródło
Jeffrey Zeldman sugeruje następujące rozwiązanie:
Powinno to wymagać mniej zasobów niż
-9999px;
Przeczytaj o tym wszystko tutaj:
http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/
źródło
Zobacz mezzoblue, aby uzyskać ładne podsumowanie każdej techniki, z mocnymi i słabymi stronami, a także przykładowy HTML i CSS.
źródło
Tak wiele skomplikowanych rozwiązań.
Najłatwiej jest po prostu użyć:
źródło
możesz po prostu ukryć tekst, dodając ten atrybut:
źródło
!important
klauzula jest rzeczywiście potrzebna w twoim przypadku. W moim przypadku bez niego też działało dobrze.Nie używaj
{ display:none; }
Powoduje, że treść jest niedostępna. Chcesz, aby czytniki ekranu widziały Twoje treści i wizualnie je stylizowały, zastępując tekst obrazem (np. Logo). Korzystająctext-indent: -999px;
z podobnej metody, tekst nadal tam jest - tylko wizualnie. Użyjdisplay:none
, a tekst zniknie.źródło
Powyższe działa również w najnowszym Thunderbirdzie.
źródło
możesz użyć
background-image
właściwości css iz-index
upewnić się, że obraz pozostaje przed tekstem.źródło
z-index
dotyczybackground-image
.Dlaczego nie używasz:
Jeśli nie masz żadnego elementu span lub div, działa idealnie dla linków.
źródło
Odpowiedzią jest utworzenie zakresu z właściwością
{display:none;}
Możesz znaleźć przykład na tej stronie
źródło
W rzeczywistości jest to obszar dojrzały do dyskusji, z wieloma dostępnymi subtelnymi technikami. Ważne jest, aby wybrać / opracować technikę spełniającą Twoje potrzeby, w tym: czytniki ekranu, kombinacje włączania / wyłączania skryptów, obrazy / css / skrypty, seo itp.
Oto kilka dobrych zasobów na początek standardowych technik zastępowania obrazów:
http://faq.css-standards.org/Image_Replacement
http://www.alistapart.com/articles/fir
http://veerle.duoh.com/blog/links/#l-10
źródło
Użyj znacznika Warunek dla innej przeglądarki i używając css musisz umieścić,
height:0px
awidth:0px
także musisz umieścićfont-size:0px
.źródło
Jeśli chodzi o to, aby tekst wewnątrz elementu był niewidoczny, ustaw atrybut koloru tak, aby miał 0 krycia, używając wartości rgba, takiej jak
color:rgba(0,0,0,0);
czysty i prosty.źródło
Nie pamiętam, gdzie to wziąłem, ale z powodzeniem go używam od wieków.
Mój mixin jest w sass, jednak możesz go używać w dowolny sposób. Dla pewności trzymam
.hidden
klasę gdzieś w moim projekcie, aby dołączyć do elementów, aby uniknąć powielania.źródło
źródło
Wypróbuj ten kod, aby skrócić i ukryć tekst
lub aby ukryć użycie w swojej klasie css
.hidetxt { visibility: hidden; }
źródło
repalce treści za pomocą CSS
źródło
Zwykle używam:
źródło
Jeśli możemy edytować znaczniki, życie może być łatwiejsze, wystarczy usunąć tekst i być szczęśliwym. Ale czasami znaczniki zostały umieszczone przez kod JS lub po prostu nie możemy go w ogóle edytować, szkoda, że css okazało się jedyną bronią, jaką mamy do dyspozycji.
Nie możemy umieścić
<span>
zawijania tekstu i ukryć całego tagu. Nawiasem mówiąc, niektóre przeglądarki nie tylko ukrywają elementy,display:none
ale także wyłączają elementy wewnątrz.Zarówno
font-size:0px
icolor:transparent
może być dobre rozwiązania, ale niektóre przeglądarki nie ich zrozumieć. Nie możemy na nich polegać.Sugeruję:
Korzystanie
overflow:hidden
wymusza naszą szerokość i wysokość. Niektóre przeglądarki (nie będą ich nazywać ... IE ) mogą odczytywać szerokość i wysokość jakomin-width
imin-height
. Chcę zapobiec powiększeniu pudełka.źródło
Użycie wartości zerowej dla elementu
font-size
iline-height
w elemencie robi dla mnie lewę:źródło
Aby ukryć tekst przed HTML, użyj właściwości wcięcia tekstu w css
/ * w przypadku tekstu dynamicznego należy dodać spację, aby zastosowany css nie przeszkadzał. nowrap oznacza, że tekst nigdy nie będzie zawijany do następnego wiersza, tekst będzie kontynuowany w tym samym wierszu, aż do
<br>
napotkania znacznikaźródło
Jednym ze sposobów, w jaki to osiągam, jest użycie
:before
lub:after
. Stosowałem to podejście od kilku lat, a szczególnie dobrze działa z ikonami wektorowymi glifów.źródło
To działało dla mnie z rozpiętością (walidacja nokautu).
źródło
Rozwiązanie, które działa dla mnie:
HTML
CSS
źródło
Najlepsza odpowiedź działa w przypadku krótkiego tekstu, ale jeśli tekst jest zawijany, po prostu pojawia się na obrazie.
Jednym ze sposobów na to jest łapanie błędów w module obsługi jquery. Spróbuj załadować obraz, jeśli się nie powiedzie, pojawi się błąd.
Zobacz PRZYKŁADOWY KOD
źródło
źródło