stylesheets/normalize/_forms.scss in compass-normalize-1.4.3 vs stylesheets/normalize/_forms.scss in compass-normalize-1.5

- old
+ new

@@ -2,154 +2,144 @@ // ========================================================================== // Forms // ========================================================================== -@if $legacy-support-for-ie6 or $legacy-support-for-ie7 { -// Corrects margin displayed oddly in IE6/7 +// Known limitation: by default, Chrome and Safari on OS X allow very limited +// styling of `select`, unless a `border` property is set. -form { - margin: 0; -} -} +// 1. Correct color not being inherited. +// Known issue: affects color of disabled elements. +// 2. Correct font properties not being inherited. +// 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. -// Define consistent border, margin, and padding. - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -// 1. Corrects color not being inherited in IE 8/9. -// 2. Remove padding so people aren't caught out if they zero out fieldsets. -@if $legacy-support-for-ie6 or $legacy-support-for-ie7 { -// 3. Corrects text not wrapping in Firefox 3. -// 4. Corrects alignment displayed oddly in IE 6/7. -} - -legend { - border: 0; // 1 - padding: 0; // 2 - @if $legacy-support-for-mozilla { - white-space: normal; // 3 - } - @if $legacy-support-for-ie6 or $legacy-support-for-ie7 { - *margin-left: -7px; // 4 - } -} - -// 1. Corrects font family not being inherited in all browsers. -// 2. Corrects font size not being inherited in all browsers. -// 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome -// 4. Improves appearance and consistency in all browsers. - button, input, +optgroup, select, textarea { - font-family: inherit; // 1 - font-size: 100%; // 2 - margin: 0; // 3 - @if $legacy-support-for-ie6 or $legacy-support-for-ie7 { - vertical-align: baseline; // 4 - *vertical-align: middle; // 4 - } + color: inherit; // 1 + font: inherit; // 2 + margin: 0; // 3 } -// Addresses Firefox 4+ setting `line-height` on `input` using `!important` in -// the UA stylesheet. +// Address `overflow` set to `hidden` in IE 8/9/10. -button, -input { - line-height: normal; +button { + overflow: visible; } // Address inconsistent `text-transform` inheritance for `button` and `select`. // All other form control elements do not inherit `text-transform` values. -// Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. -// Correct `select` style inheritance in Firefox 4+ and Opera. +// Correct `button` style inheritance in Firefox, IE 8+, and Opera +// Correct `select` style inheritance in Firefox. button, select { text-transform: none; } // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` // and `video` controls. -// 2. Corrects inability to style clickable `input` types in iOS. -// 3. Improves usability and consistency of cursor style between image-type +// 2. Correct inability to style clickable `input` types in iOS. +// 3. Improve usability and consistency of cursor style between image-type // `input` and others. -@if $legacy-support-for-ie7 { -// 4. Removes inner spacing in IE 7 without affecting normal text inputs. -// Known issue: inner spacing remains in IE 6. -} button, html input[type="button"], // 1 input[type="reset"], input[type="submit"] { - -webkit-appearance: button; // 2 - cursor: pointer; // 3 - @if $legacy-support-for-ie7 { - *overflow: visible; - } + -webkit-appearance: button; // 2 + cursor: pointer; // 3 } // Re-set default cursor for disabled elements. button[disabled], html input[disabled] { - cursor: default; + cursor: default; } -// 1. Addresses box sizing set to `content-box` in IE 8/9. -// 2. Removes excess padding in IE 8/9. -@if $legacy-support-for-ie7 { -// 3. Removes excess padding in IE 7. -// Known issue: excess padding remains in IE 6. +// Remove inner padding and border in Firefox 4+. + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } +// Address Firefox 4+ setting `line-height` on `input` using `!important` in +// the UA stylesheet. + +input { + line-height: normal; +} + +// It's recommended that you don't attempt to style these elements. +// Firefox's implementation doesn't respect box-sizing, padding, or width. +// +// 1. Address box sizing set to `content-box` in IE 8/9/10. +// 2. Remove excess padding in IE 8/9/10. + input[type="checkbox"], input[type="radio"] { - box-sizing: border-box; // 1 - padding: 0; // 2 - @if $legacy-support-for-ie7 { - *height: 13px; // 3 - *width: 13px; // 3 - } + box-sizing: border-box; // 1 + padding: 0; // 2 } -// 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome. -// 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome +// Fix the cursor style for Chrome's increment/decrement buttons. For certain +// `font-size` values of the `input`, it causes the cursor style of the +// decrement button to change from `default` to `text`. + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +// 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. +// 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome // (include `-moz` to future-proof). input[type="search"] { - -webkit-appearance: textfield; // 1 - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; // 2 - box-sizing: content-box; + -webkit-appearance: textfield; // 1 + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; // 2 + box-sizing: content-box; } -// Removes inner padding and search cancel button in Safari 5 and Chrome -// on OS X. +// Remove inner padding and search cancel button in Safari and Chrome on OS X. +// Safari (but not Chrome) clips the cancel button when the search input has +// padding (and `textfield` appearance). input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; + -webkit-appearance: none; } -// Removes inner padding and border in Firefox 4+. +// Define consistent border, margin, and padding. -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } -// 1. Removes default vertical scrollbar in IE 8/9. -// 2. Improves readability and alignment in all browsers. +// 1. Correct `color` not being inherited in IE 8/9. +// 2. Remove padding so people aren't caught out if they zero out fieldsets. +legend { + border: 0; // 1 + padding: 0; // 2 +} + +// Remove default vertical scrollbar in IE 8/9. + textarea { - overflow: auto; // 1 - vertical-align: top; // 2 -} \ No newline at end of file + overflow: auto; +} + +// Don't inherit the `font-weight` (applied by a rule above). +// NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + +optgroup { + font-weight: bold; +}