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;
+}