2010-05-28 69 views
2

IIRC的情況是,IE不支持圓角,但其他一些瀏覽器需要瀏覽器特定的擴展名...... FF或web-kit,我不記得了。是否可以使用CSS圓角並仍然通過驗證?

我很高興地用它在某些情況下,讓IE下降,回到原點的角落,但它使用的瀏覽器擴展CSS休息驗證......我很喜歡有IE6上我的網站驗證和工作。

回答

5

border-radius將驗證對CSS3,將在IE9和Opera 9.5+工作。

要支持Gecko(Firefox)和WebKit(Safari,Chrome)中的圓角,現在需要供應商擴展-moz-border-radius-webkit-border-radius。最終(在CSS3 Background and Borders到達推薦階段時),這些瀏覽器還將支持簡單的border-radius屬性,但現在它們並不如此,因爲在特定橢圓和多角落的確切語法上仍然存在一些問題需要解決。

-vendor-x擴展屬性將永遠不會驗證,這是一種恥辱,但它們由CSS本身定義爲無害,因此您可以安全地忽略這些錯誤。

+0

http://www.quirksmode.org/blog/archives/2010/03/css_vendor_pref.html CSS供應商前綴被認爲是有害的 – 2010-05-29 02:21:58

+0

@metal:對不起,但彼得在這裏說的是完全廢話。如果沒有供應商擴展,我們可能會因爲兩個供應商選擇了不同的語法而與「border-radius」不兼容。 「強制Web開發人員使他們的樣式表更加冗長」,在新功能標準化之前,絕對*是必需的。您當然可以批評W3流程過於緩慢,但作爲一項持續措施,同時供應商擴展是最差的解決方案。 – bobince 2010-05-29 11:05:18

+0

他的'redux'文章行從他最初的不可行的建議倒退,而是抓住了一些想法,比如「瀏覽器供應商應該瀏覽當前的前綴列表並刪除沒有不兼容性的前綴」......呃,呃,是什麼他認爲標準化過程*是*? W3 CR階段規格的全部要點是從已部署的imp中收集經驗,並在Rec之前解決任何不兼容問題。你當然可以爭辯說,這個過程目前太慢了,部分原因是每個標準都太大,但這是一個難以解決的問題。 – bobince 2010-05-29 11:10:32

1

我認爲大多數瀏覽器不再需要特定的擴展名:只需使用border-radius,並確保將CSS驗證爲CSS3(而不是CSS 2.1,這是W3C驗證器的默認設置)。

+0

我很確定我無法使用FF和Chrome在不使用擴展名的情況下工作,但無法正常工作。可能是錯誤的,但如果不是的話,我不知道爲什麼我首先對擴展程序感到困擾! – 2010-05-28 14:09:34

+0

當然可以在最新的Chrome和FF中使用。不確定關於safari。 – Eric 2010-05-28 14:14:41

0

無效的HTML/CSS其實不是這樣的頁面像IE6瀏覽器打破,這是因爲他們不遵循標準。

IMO,驗證是沒有意義的,如果您使用CSS屬性進行漸進式增強。如果頁面的其餘部分有效,那麼添加邊框半徑(包括特定於供應商的屬性)在其他瀏覽器中不會中斷,它們只是忽略該屬性。

+0

這不是重點。它在IE6中工作,並立即進行驗證。工作頁面是最重要的事情,但最好能夠顯示經過標準驗證的徽標,因爲這對一些人很重要。 – 2010-05-31 12:32:49

+0

@John:當然,我明白。我只是說有效的代碼!=好的代碼,必然。漸進式增強的要點是添加在每個瀏覽器中都不起作用的東西(但也不會產生負面影響)。無論如何,擁有這些無用徽章的網站一半都無法驗證。他們是誰?你的用戶當然不會在意。 – DisgruntledGoat 2010-05-31 13:18:01

+0

如果我將服務銷售給其他技術人員,他們可能會關心......我是一家軟件公司,而不是一家網頁設計公司,但我仍希望techy客戶在我的網頁上查看源代碼並測試驗證! – 2010-05-31 13:59:53

相關問題