Optimize CSS for http://yui.yahooapis.com/pure/0.6.0/pure-min.css

Improve your CSS performance by reducing complexity

Validate CSS for parsing errors and warnings

Check and Cleanup CSS Offenders

  • Complex Selectors2

    Selectors with uneccessary depth and traversal

    Consider simplifying for speed and readability

    .pure-table-bordered tbody>tr:last-child>td {}.pure-table-horizontal tbody>tr:last-child>td {}
  • Complex Selectors By Attribute1

    Selectors whose attribute value contains a specified value

    Attribute selectors have a slower lookup time

    .pure-g [class *="pure-u"] {}
  • Duplicated Properties4

    Duplicate properties detected for your selector

    Remove or combine duplicate properties to clean up your css

    .pure-button {color: rgba(0,0,0,.8)} .pure-button {border: 0 rgba(0,0,0,0)} .pure-button[disabled], .pure-button-disabled, .pure-button-disabled:hover, .pure-button-disabled:focus, .pure-button-disabled:active {filter: alpha(opacity=40)} .pure-form input[type=file]:focus, .pure-form input[type=radio]:focus, .pure-form input[type=checkbox]:focus {outline: 1px auto #129FEA} 
  • Duplicated Selectors3
    .pure-button {} /* (2 times) */.pure-button::-moz-focus-inner {} /* (2 times) */.pure-menu-children {} /* (2 times) */
  • Importants1

    Provides a way for a stylesheet author to give a CSS value more weight than it naturally has

    Avoid usage if at all possible. When you use !important, you’re disrupting the natural flow of your rules, giving more weight to rules that are undeserving of such weight

    .hidden, [hidden] {display: none!important} 
  • Multi Classes Selectors3

    Selectors with multiple classes

    Unnecessary specificity, consider reducing to single class or id instead

    .pure-menu-horizontal.pure-menu-scrollable {}.pure-menu-horizontal.pure-menu-scrollable {}.pure-menu-horizontal.pure-menu-scrollable {}
  • Old IE Fixes36

    Rules specific to IE greater than or equal to IE 6 or IE 7

    Lower browser usage for previous versions of IE prevents these rules from being very useful

    .pure-g {*letter-spacing: normal} .pure-g {*word-spacing: -.43em} .pure-u {*display: inline} .pure-u-1, .pure-u-1-1, .pure-u-1-2, .pure-u-1-3, .pure-u-2-3, .pure-u-1-4, .pure-u-3-4, .pure-u-1-5, .pure-u-2-5, .pure-u-3-5, .pure-u-4-5, .pure-u-5-5, .pure-u-1-6, .pure-u-5-6, .pure-u-1-8, .pure-u-3-8, .pure-u-5-8, .pure-u-7-8, .pure-u-1-12, .pure-u-5-12, .pure-u-7-12, .pure-u-11-12, .pure-u-1-24, .pure-u-2-24, .pure-u-3-24, .pure-u-4-24, .pure-u-5-24, .pure-u-6-24, .pure-u-7-24, .pure-u-8-24, .pure-u-9-24, .pure-u-10-24, .pure-u-11-24, .pure-u-12-24, .pure-u-13-24, .pure-u-14-24, .pure-u-15-24, .pure-u-16-24, .pure-u-17-24, .pure-u-18-24, .pure-u-19-24, .pure-u-20-24, .pure-u-21-24, .pure-u-22-24, .pure-u-23-24, .pure-u-24-24 {*display: inline} .pure-u-1-24 {*width: 4.1357%} .pure-u-1-12, .pure-u-2-24 {*width: 8.3023%} .pure-u-1-8, .pure-u-3-24 {*width: 12.469%} .pure-u-1-6, .pure-u-4-24 {*width: 16.6357%} .pure-u-1-5 {*width: 19.969%} .pure-u-5-24 {*width: 20.8023%} .pure-u-1-4, .pure-u-6-24 {*width: 24.969%} .pure-u-7-24 {*width: 29.1357%} .pure-u-1-3, .pure-u-8-24 {*width: 33.3023%} .pure-u-3-8, .pure-u-9-24 {*width: 37.469%} .pure-u-2-5 {*width: 39.969%} .pure-u-5-12, .pure-u-10-24 {*width: 41.6357%} .pure-u-11-24 {*width: 45.8023%} .pure-u-1-2, .pure-u-12-24 {*width: 49.969%} .pure-u-13-24 {*width: 54.1357%} .pure-u-7-12, .pure-u-14-24 {*width: 58.3023%} .pure-u-3-5 {*width: 59.969%} .pure-u-5-8, .pure-u-15-24 {*width: 62.469%} .pure-u-2-3, .pure-u-16-24 {*width: 66.6357%} .pure-u-17-24 {*width: 70.8023%} .pure-u-3-4, .pure-u-18-24 {*width: 74.969%} .pure-u-19-24 {*width: 79.1357%} .pure-u-4-5 {*width: 79.969%} .pure-u-5-6, .pure-u-20-24 {*width: 83.3023%} .pure-u-7-8, .pure-u-21-24 {*width: 87.469%} .pure-u-11-12, .pure-u-22-24 {*width: 91.6357%} .pure-u-23-24 {*width: 95.8023%} .pure-button-hover, .pure-button:hover, .pure-button:focus {filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0)} .pure-button[disabled], .pure-button-disabled, .pure-button-disabled:hover, .pure-button-disabled:focus, .pure-button-disabled:active {filter: progid:DXImageTransform.Microsoft.gradient(enabled=false)} .pure-form-aligned input, .pure-form-aligned textarea, .pure-form-aligned select, .pure-form-aligned .pure-help-inline, .pure-form-message-inline {*display: inline} .pure-form-aligned input, .pure-form-aligned textarea, .pure-form-aligned select, .pure-form-aligned .pure-help-inline, .pure-form-message-inline {*zoom: 1} .pure-menu-horizontal .pure-menu-item, .pure-menu-horizontal .pure-menu-heading, .pure-menu-horizontal .pure-menu-separator {*display: inline} 
  • Old Property Prefixes11

    Properties with a no longer needed vendor prefix

    These have since been integrated or removed from mentioned browsers and can safely be removed from CSS

    hr { -moz-box-sizing: content-box } // was required by Firefox 28 and earlier input[type=search] { -moz-box-sizing: content-box } // was required by Firefox 28 and earlier input[type=search] { -webkit-box-sizing: content-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .pure-button { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .pure-button { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .pure-form input[type=text], .pure-form input[type=password], .pure-form input[type=email], .pure-form input[type=url], .pure-form input[type=date], .pure-form input[type=month], .pure-form input[type=time], .pure-form input[type=datetime], .pure-form input[type=datetime-local], .pure-form input[type=week], .pure-form input[type=number], .pure-form input[type=search], .pure-form input[type=tel], .pure-form input[type=color], .pure-form select, .pure-form textarea { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .pure-form input[type=text], .pure-form input[type=password], .pure-form input[type=email], .pure-form input[type=url], .pure-form input[type=date], .pure-form input[type=month], .pure-form input[type=time], .pure-form input[type=datetime], .pure-form input[type=datetime-local], .pure-form input[type=week], .pure-form input[type=number], .pure-form input[type=search], .pure-form input[type=tel], .pure-form input[type=color], .pure-form select, .pure-form textarea { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .pure-form input:not([type]) { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .pure-form input:not([type]) { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .pure-menu { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .pure-menu { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier 
  • Qualified Selectors3

    Since IDs are unique and classes are more unique than tags, adding a tag name would slow down the matching process needlessly

    Don’t qualify class or ID rules with tag names, as they are more unique than the tag. Strip tag names where possible

    a.pure-button-primary {}a.pure-button-selected {}.pure-form input.pure-input-rounded {}
  • Universal Selectors4

    The universal selector matches any element type

    Universal selectors can be implied (and therefore omitted) if it isn’t the only component of the simple selector, avoid whenever possible

    [hidden] {}[hidden] {}.opera-only :-o-prefocus {}.pure-g [class *="pure-u"] {}

CSS Stats

CSS Metrics

Base64 Length0
Redundant Body Selectors0
Redundant Child Nodes Selectors0
Colors30
Comments3
Comments Length308
Empty Rules0
Expressions0
Imports0
Media Queries1
Not Minified1
Parsing Errors0
Property Resets0
Specificity Id Avg0
Specificity Id Total0
Specificity Class Avg1.43
Specificity Class Total586
Specificity Tag Avg0.61
Specificity Tag Total248
Selectors409
Selector Length Avg1.5085574572127138
Selectors By Attribute117
Selectors By Class379
Selectors By Id0
Selectors By Pseudo72
Selectors By Tag237
Length17286
Rules172
Declarations408