2012-03-29 37 views
0

我有一個網站在線,它是一個用ASP.NET編寫的網絡應用程序。當我複製網站的HTML代碼時,將其放入html文件並在localhost(Apache服務器)上運行,一切正常,CSS3PIE正常工作。Css3pie完全在本地主機上工作,但只在遠程服務器上部分工作

問題是,在服務器上它的工作方式不同。首先,它甚至都沒有工作,並且在css中附帶pie.htc行爲的元素完全消失或讓我們說變得透明。

我偶然發現一個建議,說給定元素上的position: relative;將解決問題。它確實有,但一點也不令人滿意。背景仍然是透明的,部分元素消失,懸停時,其他元素通過幾個像素跳到一邊。陰影工作,圓角也有工作,但沒有漸變。

+0

指向我們的網站可能有助於在這種特定情況下。 – mystrdat 2012-03-30 15:10:52

+0

我知道,但客戶希望該網站保密,所以很遺憾我無法透露它。所以我想我的目標是找到有同樣問題並設法解決問題的人 – Elwhis 2012-03-30 20:08:40

+1

在這種情況下,我只能說http://dowebsitesneedtolookexactlythesameineverybrowser.com/ – mystrdat 2012-04-04 14:16:17

回答

2

幾個可能的原因:

1).htc文件不被送達正確的MIME類型。從CSS3 PIE Known Issues

IE要求HTC行爲供應了一個內容類型「文本/ x分量」的 頭,否則將簡單地忽略該 行爲。許多Web服務器已預先配置爲提供正確的 內容類型,但其他Web服務器不是。

如果您在未應用PIE行爲時遇到問題,請檢查 您的服務器配置,並在可能的情況下將其更新爲使用正確的 內容類型。對於Apache,你可以在.htaccess文件做到這一點:

AddType text/x-component .htc 

運行IIS的服務器上的問題的行爲?如果是這樣,哪個版本的IIS? IIS 5 or higher should have the mime-type for .htc configured correctly

2)也許這是一個路徑問題,再次從CSS3 PIE known issues

相對路徑

有在CSS相關的相對路徑的兩個主要問題: 行爲URL

IE解釋相對於源文件的行爲屬性的URL,而不是像每個其他文件相對於CSS文件呃 CSS屬性。這使得調用PIE行爲不方便, 因爲URL必須或者是:

從域根絕對 - 這使得CSS目錄之間不容易移動的 - 或者, 相對於HTML文件 - 這使得CSS不容易在不同的HTML文件之間重複使用。

網址在PIE解釋的CSS屬性

PIE不解析CSS樣式表(這樣做將是不可接受的 慢);它可以讓IE處理解析,選擇器查詢,級聯,等等,然後簡單地詢問它的結果屬性值。這個 意味着當PIE獲得一個屬性值時,它不知道該值源於哪個上下文。因此,對於包含URL值的屬性(如 border-image或-pie-background),PIE無法解析相對於它們出現的CSS文件的那些URL 。它將它們解析爲 ,而不是相對於JavaScript執行上下文,它是源HTML文檔的 位置。

+0

感謝您的回答。這絕對不是第二種情況,但是當談到第一種情況時,我不知道。是否有可能錯誤的內容類型可能導致部分應用該派? – Elwhis 2012-03-29 09:16:21

+0

@Ellwhis如果代碼在本地主機上運行良好,並且在生產服務器上有問題,則可能是路徑或服務器配置問題。我以前沒有看到過部分應用程序,但看起來有可能。你沒有說什麼版本的IIS,但很容易檢查。直接在瀏覽器中加載.htc文件並查看響應標頭(有很多方法可以獲得此信息,但是Firefox中的開發者工具擴展:Information - > View Response Headers)。這會給你內容類型,也可能是IIS的版本。 – steveax 2012-03-30 16:40:26

+0

好吧,所以內容類型是好的,它是文本/ x組件, IIS版本是6.0 – Elwhis 2012-03-30 20:06:30

相關問題