2013-06-11 66 views
3

E.g.替換圖像的替代文字我有一個標識,當屏幕尺寸低於480像素時,圖像隱藏並顯示替代文字。如果移動屏幕大小爲

我想知道是否有簡單的純CSS解決方案,還是我需要使用jQuery?

+1

不幸的是,即使是使用CSS生成的內容(這是唯一可以看到它與CSS一起工作的方式),它不能工作,因爲'img'不能包含任何內容。這肯定會需要JavaScript,如果不一定是jQuery庫。 –

+0

這個服務的目的是什麼?如果您嘗試爲移動用戶節省一些帶寬,這將無法工作。圖像將開始下載,然後才能使用JavaScript從DOM中刪除它們。 – cimmanon

+0

由於純粹的審美原因,我想換出一個小文字標誌... – chris

回答

3

你真正可以用CSS做的唯一事情就是使用你的標準圖像替換技術來獲得你想要的斷點。

http://cssdeck.com/labs/0r7hlsnt

<h1>Meow</h1> 
@media (min-width: 480px) { 
    h1 { 
    background: url(http://placekitten.com/400/200) no-repeat; 
    height: 200px; 
    text-indent: -100em; 
    } 
} 

任何image replacement技術就行了。

+0

美味的謝謝! – chris

+0

添加到您的評論,你不能在圖像或表單元素上使用psuedo元素之後/之前,我檢查了http://www.w3.org/TR/selectors/#gen-content和http:// www。 w3.org/TR/2009/CR-CSS2-20090908/generate.html,我無處可以找到這是準確的,這將是有益的知道! – sircapsalot

-1

有了適當的媒體查詢,你可以這樣做:

img::after { 
    content: attr('alt'); 
} 

儘管如此,

img { 
    display: none; 
} 

節之後可能隱藏了。

+1

您不能在圖像(或表單控件)上使用僞元素之前/之後。 – cimmanon

+0

@cimmanon現在好奇。它說你不能在哪裏?沒有看到在http://www.w3.org/TR/selectors/#gen-content – sircapsalot

+0

http://stackoverflow.com/a/6949190/1652962 – cimmanon