2013-05-15 19 views
0

我想知道是否有人想出瞭如何在IE中包含與其他瀏覽器不同的SASS變量集合的想法。使用SASS的IE的變量的不同集合

本質上,我有一個SASS表中的變量顏色列表,我想根據用戶是否使用IE來進行更改。我的客戶已經注意到,我們的顏色在一些顯示器上看起來不錯,但在一些顯示器(通常是IE用戶)上,他們看起來不知所措所以我想爲IE用戶指定一個比其他所有變量稍暗一些的變量。

基本上我想這樣的:

$black: #111; 
$white: #efefef; 

看起來像這樣的IE瀏覽器:

$black: #000; 
$white: #fff; 

我意識到這可能是一個簡單的問題,但對我的生活中,我似乎無法到找到答案。任何想法或幫助都會很棒。

+2

題外話:我強烈建議你說服你的客戶這是註定要失敗的一個非常糟糕的主意。客戶需要接受教育並獲得通知,因爲他們的看似聰明的想法由於技術上的原因而無法控制。這有很多原因是錯誤的;例如品牌規則和沒有顯示器是相同的 - 每臺顯示器都有不同的色域,即使在電腦上也是如此。 – Timidfriendly

+0

我建議客戶適當地調整他們的顯示器... – Tracker1

回答

0

我不知道是否有辦法做到這一點內置於SASS。這是因爲SASS在與用戶進行任何交互之前編譯。但是,我會做的是創建一個ie.scss文件。

第一步是將所有變量定義放入_variables.scss文件中。之後,您可以創建一個:_ie_variables.scss文件。

最後,您的ie.scss文件將與您的style.scss文件相同,除了在導入_variables.scss之後,您還可以導入_ie_variables.scss。

然後你會包括像這樣:

<!--[if IE]> 
    <link rel="stylesheet" type="text/css" href="ie.css" /> 
<![endif]--> 
+1

謝謝你。不幸的是,CSS文件加載的加倍會減慢速度,所以我將不得不尋找另一種方法來解決這個問題。但是,再次感謝您的幫助。 –

+1

你不需要雙重加載..只需使用一個CSS的IE瀏覽器,其他的一切......注意:IE10不再支持條件註釋,它將使用與其他瀏覽器相同的模式。 – Tracker1

+1

感謝@ Tracker1你額外的微調強迫我做一些額外的研究,以發現標籤,允許取決於它在什麼樣的瀏覽器我來加載單獨的CSS表的代碼現在看起來是這樣的: <%= stylesheet_link_tag 「應用」,:媒體=> 「所有」 %>