2016-03-30 5 views
6

Ist es möglich, den Alt-Text mit CSS in allen Browsern zu verstecken,Wie Alt Text mit CSS ausblenden, wenn das Bild nicht vorhanden ist?

Ich versuchte mit color:transparent, es funktioniert in allen Browsern außer IE.

Ist es möglich, es in IE mit CSS zu tun ?. Vielen Dank im Voraus für jede Hilfe.

+0

Was Alt-Text des Habens der Punkt ist, wenn Sie es mit dem Bild nicht blenden Sie können nicht angezeigt werden? – Quentin

+2

können Sie 'text-indent: -9999px;' –

+0

@Quentin: Notwendigkeit für SEO und behandelt das Bild Fehler Szenario auf alternative Weise, zeigt Standardbild –

Antwort

2

Anstelle von color:transparent;display:none; verwenden.

Aber Sie sollten nicht diese Technik verwenden.

Wie @Quentin sagte in dem Kommentar:

Wenn der Text nicht gut genug für die Menschen ist es dann nicht gut genug für Suchmaschinen ist.

Sie sollten den Alt-Text nicht ausblenden. Google weiß, dass dies nur für SEO-Zwecke und nichts Wichtiges verwendet wird und bestraft wird. Und Sie können in der Google Search Engine auf die schwarze Liste gesetzt werden.

Also, verwenden Sie sie nicht nur für SEO-Zwecke.

+0

danke @Bhijendra Nepal Farbe hat den Wert transparent siehe Spec https://www.w3.org/TR/css3-color/#transparent. Anzeige: Keine löst meinen Zweck –

+0

Entschuldigung, ich nahm das an. –

+0

@BhojendraNepal: passieren alle manchmal einschließlich mir, keine Probleme, danke für Hilfe –

7

können Sie verwenden text-indent:-9999px

HTML

<img src="images/test.jpg" alt="alternative"> 

CSS

img{ 
    text-indent:-9999px 
} 

Demo

+2

Text-Einzug funktioniert nicht, siehe deine Geige in IE9 –

+0

Wenn wir 'line-height' hinzufügen dann funktioniert' text-indent' in allen Browsern ... es ist besser 'line-height: 1em;' –

+0

zu verwenden Zukunft, bitte halten Sie sich an Englisch zu korrigieren, nicht Text sprechen. Es macht die Seite für diejenigen verständlich, die kein Englisch sprechen und Schwierigkeiten haben, Dialekte zu verstehen. –

0

Verwenden 012.354.und display: none.

fiddle link

HTML

<h1 class="technique-four"> 
    <a href="#"> 
    <img src="images/header-image.jpg" alt="CSS-Tricks" /> 
    </a> 
</h1> 

CSS:

h1.technique-four { 
    width: 350px; height: 75px; 
    background: url("images/header-image.jpg"); 
    text-indent: -9999px; 
    display: none; 
} 
0

Das funktionierte:

transparent nicht zu für mich arbeiten.

0

Sie könnten auch die onerror Rückruf verwenden, um die Eigenschaft display auf none zu setzen:

<img src="images/test.txt" onerror="this.style.display='none';"> 
Verwandte Themen