2009-11-11 35 views
4

最近我已經開始在IE8中測試我的web應用程序,但是,我注意到我的控件的位置現在遍佈整個地方。當我使用IE7和Firefox 3.5測試我的應用時,這並不明顯。我知道有一個建議 「修復」 這個問題由包括ASP.NET - IE8中控件位置的問題

元HTTP的當量= 「X-UA兼容」 內容= 「IE = EmulateIE7」

到HTML源代碼,但我認爲如果我將應用更改爲本地支持IE8,可能會更好,而不是回退到兼容模式。

我的所有控件都是通過偏離正常流程來定位的,但我也注意到,即使它們位於正常流動或絕對定位,問題依然存在。

我正在用C#完全開發我的應用程序,因爲我對CSS有很多不瞭解,但是如果這是解決此問題的途徑,那麼我對改變這一點毫無疑問。

謝謝。

編輯:我使用Visual Studio 2005 BTW

編輯:更多的論壇潛水後,我找到了一個鏈接到一個不錯的博客條目@http://blogs.msdn.com/ie/archive/2009/03/12/site-compatibility-and-ie8.aspx其中列出了IE8標準視圖,IE8兼容性視圖之間有一些差別快IE7可能會破壞一個網站。希望它能幫助其他面臨類似問題的人們。

回答

3

如果您正在構建網站,則必須使用CSS。

這對於CSS開始一個很好的資源 - http://www.w3.org/Style/CSS/learning

CSS將允許您創建一個網站,對於大多數現代瀏覽器上運行。下面是一個匹配CSS版本和瀏覽器版本的好表格:http://www.quirksmode.org/css/contents.html

但是,有些瀏覽器(特別是IE6)尚未正確實施CSS指導。這導致需要針對IE6特定的CSS攻擊遠程複雜的任何事情。

這是一個很好的strating點瀏覽器的黑客:

http://articles.sitepoint.com/article/browser-specific-css-hacks#

+0

感謝資源鏈接,喬。儘管我正在開發一個Web應用程序,而不是一個網站,所以我更願意保留大部分編碼,關於應用程序在幕後的工作方式。 – Kronon 2009-11-11 10:56:43

+0

沒問題。我不是在談論編碼,只是你將要投入CSS的樣式。 如果你希望你的應用程序看起來非常專業,你需要掌握CSS ...... – 2009-11-11 11:40:05

3

說實話,還真的問題在於您的標記和CSS規則。 IE8更符合W3c CSS標準。所以你很可能遇到了你不知道的FireFox,Opera,Chrome和Safari的問題。非IE瀏覽器不會遵守您的IE7標籤。

我的建議是讓你的頁面在新的瀏覽器中工作,讓事情相對簡單,這樣你就可以在IE 6和IE 7中工作.IE 6真的需要消失,但是太多人不會升級。 IE 7也需要逐步淘汰。

我一直在寫一個系列,我呼籲薄ASP.NET排序,重點在CSS佈局的ASP.NET網站做的事情,http://professionalaspnet.com/archive/tags/Thin+ASP/default.aspx

+0

我明白了。我想我真的需要用CSS去弄髒手指,以更好地理解它是如何與我的代碼一起工作來影響視覺效果的。非常感謝您的博客鏈接,克里斯。這一定會有所幫助。 – Kronon 2009-11-12 02:37:22

0

CSS可以是相當艱鉅的,當你使用它首先開始,我個人喜歡使用CSS編輯器。我使用Skybound Stylizer(www.skybound.ca)。他們提供免費的基本版本,這是你需要開始甚至發佈一個網站的全部內容,但是隻需79美元就可以升級到他們的最終版本以顯示我的支持,我仍然很喜歡它:)

I建議檢查一下。它將允許您進行更改並立即查看會發生什麼,它還支持在IE或Firefox中查看頁面的功能,並提供額外支持,以便輕鬆爲單獨的瀏覽器提供條件CSS註釋。

希望這會有所幫助, David。

+0

感謝您的建議。 Visual Studio中的當前'設計器'視圖實際上是用來顯示控件的外觀以及對源代碼所做的任何開發。我會更詳細地看看您提到的條件CSS註釋,所以感謝您的幫助。 – Kronon 2009-11-12 02:40:24

+0

在這種情況下,這裏有一些信息可以幫助您入門: 有條件的CSS屬性: 僅在IE版本7及更低版本中顯示:#margin:1px; 在IE版本6及更低版本中顯示Onle:_margin:1px; 僅隱藏在IE版本6中:margin/** /:1px; 僅在IE 5.5版本中隱藏:ma \ rgin:1px; 僅在IE版本5中隱藏:margin/* * /:1px; 現在舉一個例子: 假設你有一個ID爲「stuff」的分隔符,並且你需要使它在IE中大2像素,但在其他任何東西中都沒有。 由於樣式表級聯,您首先將常規屬性: #stuff {width:5px; #width:7px的; } 希望這會有所幫助, David。 – David 2009-11-12 03:14:07