2012-05-16 76 views
2

我爲在其網站上擁有大量<a>元素的客戶工作,該客戶使用相同的樣式並引用相同的類名。如何爲Internet Explorer 7和8填充CSS 3樣式?

我遇到的問題是,在我使用CSS3對元素進行樣式設計之前,曾經開發過這個項目,並且完全忽略了IE7和IE8的事實,即使它處於瀏覽器模型的範圍之內,數百頁。

我想問的是,您覺得最好的方法是在不影響標記的情況下進行適當的修復。例如支持邊框半徑,框陰影,漸變等的腳本。

請不要回來回答有關優雅退化,因爲這不會發生,我已經與客戶談話,他們不想要採取這種方法。

+0

根據你的建議,你指的是modernizr嗎?因爲我認爲這是一個很好的解決方案來代替重寫。 – OnResolve

+0

我假設其他開發人員沒有做好像重複使用類似的元素出現相同的東西?否則,你只需要更改CSS ... – CompanyDroneFromSector7G

+1

@OnResolve - Modernizer具有許多特徵檢測功能,但不是很多polyfills。據我所知,它不會解決任何問題。這可能是邁向解決方案的第一步,但它本身並不是一個解決方案。 – Quentin

回答

-1

我覺得沒有一個解決方案,但你可以結合多種解決方案,例如邊界半徑,你可以使用jQuery角落:

http://jquery.malsup.com/corner/

Modernizr的可以是一個很好的工具呢!

2

您可以使用腳本在使用舊IE版本的客戶端上爲您執行「支持」!

下載script here.

這個腳本允許的Internet Explorer 6,7 CSS3的支持,和8

該網站link

+0

哇,這是一個要記住! +1 :) – CompanyDroneFromSector7G

+0

這兩個URL上的錯誤404 ... –

0

我最喜歡的解決方案是CSS3 PIE。這是HTC的brings a nice selection of CSS3 features to IE 6-9

注意: PIE使用絕對定位的VML元素(在IE6-8中)來支持各種CSS3功能。這可能會導致像背景/邊界/等消失的問題。該修補程序通常在受影響的元素上使用position: relative;或它的父項。 See the known-issues瞭解更多信息(和其他修正)。

+0

我試過這個,並且在頁面上跳轉的元素存在大量問題......它好像腳本在目標元素的頂部創建了一個元素,並且它的位置絕對....無法找到與此有關的任何錯誤:s –

+0

是的,它使用VML元素來支持CSS3功能(沒有其他方式可以工作)。這意味着你有時必須「定位:相對;」該元素或它的父母。有關更多信息,請參閱http://css3pie.com/documentation/known-issues/。 –