2013-06-05 12 views
8

Ho il codice seguenti guidecollegamento in una glyphicon bootstrap

<%= link_to mypath do %> 
    <%= content_tag(:i, "" ,:class=>' icon-eye-open' %> 
<% end %> 
<%= @num %> 

che genera il codice HTML

<a href="/mypath"> 
    <i class=" icon-eye-open"></i> 
</a> 
100 

Il problema è, come si vede nella jsfiddle here, che al passaggio del mouse sopra l'icona, ci è uno spazio sottolineato tra il numero e l'icona. Lo spazio è necessario per scopi visivi, ma come faccio a rimuovere la sottolineatura del collegamento senza css?

Perché senza? Potrei fare text-decoration: none; per qualche selettore di CSS, specifico o generico, ma voglio capire perché questo sottolineatura accade. Se lo @num viene rimosso, non vi è alcuna sottolineatura e poiché non si trova all'esterno del tag di ancoraggio, non dovrebbe influire su di esso. Eppure, ovviamente lo fa.

risposta

12

Questo sta accadendo a causa del spazi dopo il </i>

prova a cambiare il codice nel jsFiddle a:

<a href="/mypath"><i class=" icon-eye-open"></i></a>100 

e il problema va via.

Ciò è perché l'elemento <i> è linea (o meglio, inline-block), il che significa che gli spazi bianchi è, di norma, significativo.


Per evitare ERB da incluso il fine riga dopo un tag di chiuderlo con un trailing -%>, vale a dire:

<%= content_tag(:i, "" ,:class=>' icon-eye-open' -%> 
+0

+1 - mi hai battuto sul tempo. http://jsfiddle.net/LWJw6/ –

+0

l'html viene generato automaticamente da rails, qual è la differenza tra la versione html? rendendolo meno ordinato? –

+0

ok, lo accetterò poiché mi ha portato a risolverlo. Se chiudo il content_tag con '' '-%>' '' porta allo stesso risultato, senza spazi bianchi. Grazie! –

Problemi correlati