Compass Text Selection
Styles text selection foreground and background color with CSS.
This file can be imported using:
@import "compass/css3/selection"
Imports
- Browser Support – Provides configuration options for the Compass Browser Support Matrix.
- Color – Utilities for working with colors.
Configurable Variables help
$selection-support-threshold
$graceful-usage-threshold
The prefixed support threshold for ::selection. Defaults to the $graceful-usage-threshold.
Mixins
view sourceselection($background-color, $color)
=selection($background-color: null, $color: contrast-color($background-color))
+with-each-prefix(css-selection, $selection-support-threshold)
$selector: ""
@if $current-prefix != null
$selector: $current-prefix + "-"
$selector: "&::#{$selector}selection"
#{$selector}
color: $color
background-color: $background-color
@content
@mixin selection($background-color: null, $color: contrast-color($background-color)) {
@include with-each-prefix(css-selection, $selection-support-threshold) {
$selector: "";
@if $current-prefix != null {
$selector: $current-prefix + "-";
}
$selector: "&::#{$selector}selection";
#{$selector} {
color: $color;
background-color: $background-color;
@content;
}
}
}
Style selected text.
At this time, only two CSS properties are supported in most browsers during selection: color and background-color. Firefox supports the text-shadow property.
At the stylesheet root, include the mixin within the * selector.
* {
@include selection(#fe57a1, #fff)
}
If a specific element or selector's selection is being styled you can use that selector instead. For example:
.hot-pink {
@include selection(#fe57a1, #fff)
}
These properties can be passed as arguments or you can set them via mixin content.
For future-forward compatibility with other properties and aesthetic freedom, a mixin content block can be passed to this mixin in addition to or in place of passing arguments.
.hot-pink {
@include selection {
background: #fe57a1;
color: #fff;
}
}
When $background-color is specified, but $color is not, this mixin
styles the foreground color like the contrasted
mixin. To
specify only the background-color, you should pass an explicit null value
for $color or use mixin content.