2011-05-09 244 views
1

我的頁面中包含兩個css文件。刪除IE特定樣式表中的邊框半徑樣式

<link rel="stylesheet" href="/css/screen.css" /> 
<!--[if IE 8]> 
    <link rel="stylesheet" href="/css/ie8.css"/> 
<![endif]--> 

現在screen.css我有這樣

ul.treelayout{ 
    list-style: none; 
    margin: 0px 0px 10px 0px; 
    background-color: #fff; 
    padding: 3px; 
    border-radius: 5px; 
    -moz-border-radius: 5px; 
    -webkit-border-radius: 5px; 
    border: 1px solid #007b40; 
} 

風格我想刪除半徑相關聯的樣式在ie.css這樣ul.treelayout的IE結果風格是

ul.treelayout{ 
    list-style: none; 
    margin: 0px 0px 10px 0px; 
    background-color: #fff; 
    padding: 3px; 
    border: 1px solid #007b40; 
} 

看來,由於該級聯樣式簡單地寫類沒有樣式ie.css不會做的伎倆。有任何想法嗎?

感謝

問候 加布裏埃爾

+2

爲什麼要刪除他們? IE9能夠處理它們,IE7和更早的版本應該忽略標籤呢?所以我認爲沒有理由添加額外的版本。 – Mario 2011-05-09 21:56:01

+0

@Mario的原因是,我想在IE 8,7和CSS的計算風格沒有參考這些風格,因爲它與曲線角插件混淆。 – 2011-05-09 22:11:27

回答

1

好礦是不是原因;) - 但你可以用條件註釋,你可以給一個組合周圍做到這一點的其他方式,只給border-radius樣式非IE瀏覽器 ..其實邊界半徑樣式IE9和其他瀏覽器,我不知道你的意思是哪個腳本衝突,但也許你也可以只是腳本給需要它的瀏覽器?

這裏是一個例子(沒有使用邊界半徑,但希望你會明白我的意思。)

<style type="text/css" media="screen"> 
div { 
padding: 40px; 
color: #fff; 
} 
</style> 

<!--[if IE]> 
<style type="text/css" media="screen"> 
div {background: #00f} 
</style> 
<![endif]--> 

<!--[if (!IE)|(gt IE 7)]><!--> 
<style type="text/css" media="screen"> 
div {background: #f00} 
</style> 
<!--<![endif]--> 

HTML:

<div> 
    <p>background is red in non-IE browsers,and IE gt 7 - but background is blue in other IE's</p> 
</div> 

關於上述條件註釋..

,第一是有規律的風格

二是「傳統」 隱藏的,只有IE看到

第三條件註釋是透露評論,所有的瀏覽器看到,但IE仍然讀取參數

你會把一般規律在正常片和片內圓角半徑規則第三風格的註釋

你可以改變第三評論它基本上說的說法,如果不是IE 是GT的參數IE7

更多信息:About Conditional Comments

+0

謝謝我認爲我可以解決這個問題,非常感謝。 – 2011-05-10 07:01:55

0
ul.treelayout{ 
    list-style: none; 
    margin: 0px 0px 10px 0px; 
    background-color: #fff; 
    padding: 3px; 
    border-radius: 0; 
    -moz-border-radius: 0; 
    -webkit-border-radius: 0; 
    border: 1px solid #007b40; 
} 

ただ。

+0

嘿嘿......問題是我不會讓他們失望。甚至沒有值0. – 2011-05-09 22:09:58

+0

爲什麼?這會實現什麼? 我不認爲你要求的是沒有服務器端處理或客戶端JavaScript。 – gingerbreadboy 2011-05-09 22:16:51

0

由於樣式表級聯的方式,你只需要有這樣在你ie8.css:

ul.treelayout {border-radius: 0;} 

這將讓所有的款式相同,但它會刪除IE邊框半徑。如果你想進一步IE更改,你可以添加它們,只要你喜歡。

覆蓋始終包含的樣式表時,只需添加要覆蓋的樣式或在自定義的瀏覽器中顯示的樣式。這使得css文件更小,這對用戶來說更好。