::selected pseudo element. What's more is you can directly transfer jQuery UI theme property values to selected text using the following technique.Here's what the selected text inside a widget looks like when styled by the browser.
And here's what the themed text selection looks like when using the start theme.
As you can see, the background color and the text color are sampled from the theme — the
ui-state-highlight class to be exact. Let's take a look at how this works.var $div = $( "<div/>" ).addClass( "ui-state-highlight " +
"ui-helper-hidden" )
.appendTo( "body" ),
bg = $div.css( "background-color" ),
fg = $div.css( "color" );
$div.remove();
$( "<style/>" ).text( ".ui-widget ::selection {" +
"background-color: " + bg + ";" +
"color: " + fg + "; }" )
.appendTo( "head" );
$( "#accordion" ).accordion();
This code is the first to run once the DOM is ready. The first thing we're doing here is create a
div element and storing it in the $div variable. This div has the ui-state-highlight applied to it, which sets the style properties we want to sample. The ui-helper-hidden class is used to hide the element, even though we're removing it instantly. Next, we sample the background-color and color CSS properties and store them in their respective bg and fg variables. Now that we have our property values, we're free to nuke the temporary div element.Now we take our samples and inject them into a CSS rule in the page header. The selector used —
.ui-widget ::selection — applies to selected text, but only if it's part of a widget. Like accordion content is. Note that this non-standard selector only has experimental support in some browsers, no support in others.


No comments :
Post a Comment