Rap*_*aga 5 sass compass-sass compass
使用0.12.x版本的Compass,我正在以这种方式定义对oldies的支持:
@import "compass/support"
$legacy-support-for-ie6: false;
$legacy-support-for-ie7: true;
$legacy-support-for-ie8: true;
$legacy-support-for-mozilla: false;
@if ($legacy-support-for-ie7) {
// specific declaration if ie7 is supported
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何在Compass 1.x系统之后定义浏览器支持.也许是这样的:
// Add support for a specific browser
$browser-minimum-versions: (
'ie': "7",
'ie': "8"
);
// Reject browsers
$supported-browsers: reject(browser-versions("ie"), "6", "7", "8");
Run Code Online (Sandbox Code Playgroud)
但它返回该错误(在Compass 1.0.1上运行):
(Line 206 of /Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.1/stylesheets/compass/_support.scss: 5.5 is not known browser.)
Run Code Online (Sandbox Code Playgroud)
排除浏览器是通过修改$graceful-usage-threshold变量来完成的.如果浏览器X仅占市场份额的4.99%,则需要将其设置为5.
$debug-browser-support: true;
$browser-minimum-versions: (
"ie": "9"
);
$graceful-usage-threshold: 4.46163;
@import "compass";
.foo {
@include opacity(.5);
@include border-radius(10px);
}
Run Code Online (Sandbox Code Playgroud)
输出:
.foo {
/* Content for ie 8 omitted.
Minimum support is 9. */
opacity: 0.5;
/* Capability border-radius is not prefixed with -moz because 0.25036% of users are affected which is less than the threshold of 4.46163. */
/* Capability border-radius is not prefixed with -ms because 0% of users are affected which is less than the threshold of 4.46163. */
/* Capability border-radius is not prefixed with -o because 0% of users are affected which is less than the threshold of 4.46163. */
/* Capability border-radius is not prefixed with -webkit because 0.1583% of users are affected which is less than the threshold of 4.46163. */
border-radius: 10px;
}
Run Code Online (Sandbox Code Playgroud)
请注意,这会导致您可能希望支持的其他少数浏览器被排除在外.那是什么时候$browser-minimum-versions发挥作用.
$browser-minimum-versions: (
"ie": "9",
"safari": "4"
);
Run Code Online (Sandbox Code Playgroud)
输出:
.foo {
/* Content for ie 8 omitted.
Minimum support is 9. */
opacity: 0.5;
/* Capability border-radius is not prefixed with -moz because 0.25036% of users are affected which is less than the threshold of 4.46163. */
/* Capability border-radius is not prefixed with -ms because 0% of users are affected which is less than the threshold of 4.46163. */
/* Capability border-radius is not prefixed with -o because 0% of users are affected which is less than the threshold of 4.46163. */
/* Capability border-radius is prefixed with -webkit because safari "4" is required. */
/* Creating new -webkit context. */
-webkit-border-radius: 10px;
border-radius: 10px;
}
Run Code Online (Sandbox Code Playgroud)
工作中有一些变化,以便更容易排除旧浏览器.您可以在此处关注:https: //github.com/Compass/compass/issues/1762
如果要为特定浏览器制定规则,则该$critical-usage-threshold变量起作用:
$debug-browser-support: true;
$browser-minimum-versions: (
"ie": "9"
);
$critical-usage-threshold: 4.46163;
$graceful-usage-threshold: 4.46163;
@import "compass";
.foo {
@include for-legacy-browser('ie', '8') {
color: green;
// this is based on $critical-usage-threshold by default
// if $critical-usage-threshold is lower than the version's usage
// then this content will be generated
}
@if support-legacy-browser('ie', '8') {
color: red;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3200 次 |
| 最近记录: |