2009-09-16 13 views
10

Quindi un metodo che uso spesso per creare dei link SEO che usano le immagini è il trucco text-indent: -9999px;. Fondamentalmente, creo un'ancora a livello di blocco con un'immagine di sfondo. Ho impostato il suo numero text-indent su un numero negativo elevato in modo da non vederlo e questo è un bene per il SEO. Quando clicco sul collegamento, però, il contorno di esso spara fuori dalla pagina (vale a dire che va con il testo veramente lontano). Ho trovato questo è successo solo in alcuni casi, maggior parte del tempo:Il rientro del testo negativo causa la selezione di un link grande al clic

<div> 
    <a href="#">SEO text</a> 
</div> 

div { 
    width: 100px; 
    height: 100px; 
} 

    div a { 
    display: block; 
    text-indent: -9999px; 
    width: 100px; 
    height: 100px; 
    background: url(stuff) etc...; 
    } 

Il codice qui sopra il 95% del tempo hanno solo il contorno quando si clicca il link solo l'area di 100 x 100px . Tuttavia, quando non si definiscono le dimensioni del genitore, sembra di sparare fuori dalla pagina .... Penso. Ma in questo mio caso, ha dimensioni sul genitore, ma spara ancora dalla pagina. Come risultato, ho fatto il trucco a span { display: none; } ma voglio sapere come posso farlo con il trucco text-indent ma correggere il contorno.

Qualcuno sa come risolvere questo problema? Ho bisogno di un altro genitore o devo impostare un'altra proprietà CSS?

+0

+1 - qualcosa che ho notato ma non sono mai riuscito a guardarlo. Grande domanda. –

+0

Qualcuno sa come farlo senza impostare 'outline: none'? Sono interessato al motivo per cui questo sembra accadere solo sporadicamente, piuttosto che i tentativi di far sparire i sintomi. C'è almeno un upvote da parte mia in esso! –

risposta

0

ecco un great article per la rimozione di quel contorno maledetto in Firefox

solo l'aggiunta di un link sentiti molto pigri ecco, aggiungere questo nel vostro CSS:

a 
{ 
    outline: none; 
} 
:focus 
{ 
    -moz-outline-style: none; 
} 
+6

Mentre si rende la pagina completamente inutilizzabile senza il mouse – Quentin

+0

Ha i suoi pro e contro perché non si ottiene alcun feedback sullo schermo quando si fa tabulazione con la tastiera ma si risolve il problema. Grazie mille per le informazioni però. –

+1

@David: generalmente vedo questo come una comprensione di come funziona, anche se il primo esempio dell'articolo consente di essere ancora utilizzabile senza un mouse, eliminando la struttura non è tutto quello che puoi fare, puoi cambiare altri attributi di stile all'elemento, ad esempio: aggiungendo un bordo, quindi è ancora ovvio che l'elemento è evidenziato, ma non ha quel contorno ridicolo che spara sulla tua pagina. –

0

Basta aggiungere overflow: hidden sul tuo div a

18

Aggiungi overflow:hidden all'etichetta.

div a { 
    overflow: hidden; 
} 

Ciò mantiene il bordo del bordo, ma solo nelle coordinate specificate dell'elemento.

L'applicazione di overflow: hidden sul div o outline: none come Wayne Austin suggests rimuove completamente il contorno che è un problema di usabilità.

+1

Questa dovrebbe essere la risposta accettata, perché nascondere il contorno non ha senso. Facile, ma senza senso :) –

Problemi correlati