鏈路

2013-06-05 24 views
8

我有以下軌道代碼鏈路

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

產生的HTML

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

的問題是,如在該jsfiddle here,即在圖標上移動鼠標時,存在是數字和圖標之間加下劃線的空格。該空間是爲了視覺目的而需要的,但是如何在沒有css的情況下刪除鏈接的下劃線?

爲什麼沒有?我可以爲某些css選擇器做text-decoration: none;,具體或通用,但我想了解爲什麼發生下劃線。 如果刪除@num,則不會有下劃線,並且由於它位於錨標記之外,因此不應影響它。但是,它顯然是。

回答

12

這後的空白由於發生在</i>

嘗試在的jsfiddle切換您的代碼:

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

和問題消失。

這是因爲<i>元件是直列(或更確切地說,內聯塊),這意味着空白是,作爲一項規則,顯著。


爲了防止ERB從包括一個換行符後帶上-%>關閉它標籤之後,即:

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

+1 - 你打我吧。 http://jsfiddle.net/LWJw6/ –

+0

html是由rails自動生成的,html版本有什麼區別?使它不那麼整潔? –

+0

好吧我會接受它,因爲它確實導致我解決它。如果我用'' - %>''關閉content_tag,它會導致相同的結果,而不會出現空格。謝謝! –