IE那些爛事–不能正常顯示的img

來源:互聯網
上載者:User

     曾經有一張圖片在Firefox下顯示正常,但是在IE下卻顯示灰常,我問IE為什麼做的如此垃圾,旁邊的哥們兒答曰:
因為IE想給其它瀏覽器廠商提供發展的機會。這樣的回答實在是太精闢了!

    在IE下不能正常顯示的問題有種種,其主要原因是我們在開發過程中都是以Firefox作為測試載入器進行開發的。我們採用Firefox作為測試載入器是因為Firefox有著強大的調試功能,是開發人員必不可少的利器之一。而且Firefox對W3C的標準支援比較好,只要Firefox下顯示正常,其它瀏覽器(IE除外)基本顯示正常。

    現在繼續來說,那個圖片不能正常顯示的問題。首先看一下我的原始代碼:HTML Code:
<img height="20" width="20" class=" startOnClass" title="${resboundle.firstScore}“ />
 
CSS 樣式表:
 .ecmEvaluationStar .startOnClass{ background-image: url("images/star-on.gif"); background-repeat: no-repeat; text-align: center; width: 20px; height: 20px; display: inline-block;}
    在這裡,Firefox下面能夠正常顯示金色五角星,而IE下卻不能正常顯示,這是為什麼呢?我們來看一下W3C標準下定義的img標籤:

img 元素向網頁中嵌入一幅映像。

請注意,從技術上講,<img> 標籤並不會在網頁中插入映像,而是從網頁上連結映像。<img> 標籤建立的是被引用映像的佔位空間。

<img> 標籤有兩個必需的屬性:src 屬性 和
alt 屬性。

    此處,我們顯示的金色五角星是通過設定背景來顯示圖片,而非通過img標籤來內嵌影像。在IE下,解析器解析img標籤時,一定會尋找src屬性,如果找不到該屬性,就會解析異常。而Firefox在解析img標籤時,如果找不到src屬性,就會將其解析為Div元素。    上述中同樣的代碼,圖片顯示不同,正是由於img標籤缺少了src屬性,不同的瀏覽器解析方式不同所造成的。如果將上述代碼更改為如下代碼就不此問題。    <span height="20" width="20" class="startOffClass" title=" ${resboundle.firstScore} " ></span>    作者編語:Firefox對標籤的解析進行了“人性化”的設計,降低了程式出錯的可能性,但也容易讓初學者追求功能的展示,而忽略了編碼的規範。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.