[英]PNG image appears in IE8, disappears in IE7
我試圖在我的網頁(XHTML 1.0 Transitional)上顯示徽標(在Paint.NET中創建的PNG),如下所示:
<body>
<div class="header">
<div class="logo">
<img src="logo.png" />
</div>
<!-- etc. -->
.header
的樣式如下:
.header {
background-color: Black;
color: White;
margin-left: -3em;
padding-top: 12px;
padding-left: 2em;
padding-bottom: 12px;
font-size: 1.4em;
}
.header .logo {
float: right;
}
徽標為黑底白字,並帶有其他顏色。
在IE8(和Google Chrome)上,圖像正確顯示。 在IE7上,圖像完全不顯示。 我究竟做錯了什么?
我不在乎IE6。
如果將圖像直接拖放到IE7中,是否可以正確顯示?
如果是這樣,那么問題就不在於圖像,而在於您的HTML或CSS。
我這里沒有IE7,因此無法直接測試,但是我可以推薦一種簡單的故障排除方法:
HTML或XHTML? 不要認為自動關閉的img標簽在HTML中有效。
編輯:您還缺少alt屬性。
如果是float:right弄亂了提示,則應嘗試清除浮動。 嘗試設置overflow:hidden; 在.header類上,或者在標記中緊隨其后的元素上都應用clear:both。
另外img標簽始終需要alt屬性-您可以將其保留為空-alt =“”
我在使用帶有src = data字符串的IMG標簽的MVC.NET應用程序中遇到此問題。
歸根結底,我不在乎是什么原因造成的,因為它是60000張圖像中的1張(並且僅在IE中)
function showPicture() {
if ($('#picture').css("display") == "none") {
$('#picture').css("display", "");
clearInterval(interval);
}
}
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))
interval = setInterval(showPicture, 500);
雖然我覺得很奇怪,只有某些記錄會導致Display:None屬性被內聯應用,但是我很樂意共享它,因為CSS Display:None不是來自我的代碼。
無論如何,理論上,您可以使用check for IE瀏覽器中的代碼段在運行此代碼之前檢查它是否是IE。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.