Skip to content

Instantly share code, notes, and snippets.

@joaocarmo
Created February 25, 2020 12:17
Show Gist options
  • Save joaocarmo/9f2056f35a6728cb555f6c608c708433 to your computer and use it in GitHub Desktop.
Save joaocarmo/9f2056f35a6728cb555f6c608c708433 to your computer and use it in GitHub Desktop.
Browser hacks mixing for SASS
/// Browser hacks
/// Source: browser strangeness
/// https://browserstrangeness.github.io/css_hacks.html
/// Jeff Clayton
/// @access public
/// @param {String} $browser
/// @param {String} $selector
/// @param {String} $property
/// @param {*} $value
///
/// @example usage:
/// @include browser-hack-for('safari', 'body', 'color', black);
@mixin browser-hack-for($browser, $selector, $property, $value) {
@if $browser == 'safari' {
// Safari 7.1+ CSS Hack
_::-webkit-full-page-media, _:future, :root #{$selector} {
#{$property}: $value;
}
}
@else if $browser == 'firefox' {
// Firefox 1.5+ CSS Hack
_:-moz-only-whitespace, :root #{$selector} {
#{$property}: $value;
}
}
@else if $browser == 'edge' {
// MS Edge 12+ CSS Hack
_:-ms-lang(x), _:-webkit-full-screen, #{$selector} {
#{$property}: $value;
}
}
@else if $browser == 'ie' {
// MS IE 10-11 CSS Hack
_:-ms-input-placeholder, :root #{$selector} {
#{$property}: $value;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment