This commit reverts the following 5 commits: 49392e9 f9572a4 79e2c16 2691e7a 567af2e The `:moz-placeholder` rule doesn't have the desired effect because any subsequent rule with higher specificity will result in the Firefox bug resurfacing. There is no way to ensure that Firefox doesn't change the color of the placeholder text. Example: https://tinker.io/e34a2 The `:focus::webkit-input-placeholder` normalization is being removed because the current Chrome / Safari on Lion OSX behaviour is allowed in the spec, Firefox is set to implement the same behaviour, and other browsers may follow suit for usability reasons. Some browser differences like these - low importance and in flux - can be allowed to evolve and settle before assessing whether or not they need or merit normalization.
The placeholder attribute in Chrome does not work to spec. This makes the text transparent on focus to work like Firefox, Safari, and the spec. Credit goes to @chadbaudoin for bringing this up in his pull request necolas#86 and this Chrome bug is further documented at http://code.google.com/p/chromium/issues/detail?id=106714 and my own test is at https://tinker.io/be2f2/1
The browser-defined style for placeholder text color is overwritten by style for input elements in Firefox. Adding :-moz-placeholder style overrides that, bringing Firefox inline with other browsers. @mathiasbynens made a test case for this @ https://tinker.io/be2f2 This change improves consistency of placeholder style between Chrome, Safari, and Firefox browsers.
Legacy browsers, including IE6/7 and Firefox 3, do not make the new HTML5 `summary` element block-level by default. This is contrary to the HTML5 recommendations and the behaviour of modern browsers.
Recommend that people supporting IE6/7 do not use the `hr` element at all. It requires far more work than just normalizing margins. IE6/7 do not collapse margins set on `hr` with margins of pre- or proceeding elements. Separate the margin normalizations for `p` and `pre` from that for `h3`. Despite sharing the same margin value, headings are qualitatively different from these other elements. Both in terms of customisation and debugging using browser tools, it is cleaner to keep the margins of heading separate.
The margin of many elements in IE6/7 is set by 'pt', not relative to the root font-size. This is contrary to the HTML5 spec and all other modern browsers, including IE8+. If people need to customize margins, they can either edit normalize.css directly or override later in the source. But at least any non-customized elements will behave consistently now.
No browsers apply left padding to `details` by default.
The margin of lists in IE6/7 is set by 'pt', not relative to the root font-size. This is contrary to the HTML5 spec and other modern browsers, including IE8+. If people need to customize the list margin, they can either edit normalize.css directly or override later in the source. But at least any non-customised lists will behave consistently now.
There are various inconsistencies surrounding headings that make this change worth trialing. The font-size of headings in IE6/7 isn't relative to the root font-size (see #61). Modern browsers set the `h1` font-size based on the depth of nesting in certain HTML5 sectioning elements. This change overcomes both the issues. At the same time, the margins are being normalized so that they are consistent and `em`-based. If people need to customise the heading font-size and margin, they can either edit normalize.css directly or override later in the source. But at least any non- customised headings will behave consistently now. Close #41
Include an `input` and `button` disabled attribute style test. Remove `initial-scale` from the meta viewport and add the `lang` attribute to `html`.
Prevents the inability to override the font-family by setting it on the `html` element later in the CSS.
After normalizing the search input on OS X, the search cancel pseudo-element is not always well positioned and is missing from other UAs.
Remove the default padding. In theory, the correct normalization would be to add the padding to IE6/7 rather than remove it from all browsers. However, the most common use case is going to be for legends within unstyled fieldsets, and the presence of 2px of horizontal padding is likely to be unexpected. Allow text wrapping in Firefox 3. Modify the default white-space value to allow long legends to wrap. No simple fix to allow this in IE6/7/8.
Prevent the addition of vertical margins on nested lists without interferred with author expectations when customising margins directly on 'ul' or 'ol' selectors later in the stylesheet. Left margin needs to be normalized to remove it from IE6/7. Close #57
Inclusion of these normalizations can result in unwanted or unexpected consequences. This is because `a:visited` has a specificity of 0,0,1,1. Therefore, the pseudo-class has to be included in every author link-style with a lower specificity. This is not expected behaviour when building up link styles from the browser defaults. Very little is lost by removing the link color normalization.
Applying *overflow:visible to button/input causes text inputs to grow to fit their content, even if an explicit, fixed width is applied. It was originally included to remove excess inner spacing on buttons and submit/reset/button-type inputs in IE6/7. Fixing this bug in IE6 requires dropping the fix entirely because there is no way to avoid it being applied to text inputs. If there is a need to fix this excess spacing bug in IE6, then it should be done using a class that is applied to the necessary elements. For IE7, the excess spacing fix can be moved into the ruleset that targets button and submit/reset/button-type inputs. This prevents text inputs from growing.
…ts. Close #39
Chrome 13 onwards no longer has a problem with -webkit-appearance destroying the appearance of audio/video button controls. Ref #20
IE renders rounded corners on fieldsets by default. All browsers - even those that use the same border value of 2px groove threedface in their UA stylesheet - have different final rendering colors, widths, and joining of the border. The chosen value of 1px solid #c0c0c0 takes the most common visual border width (IE, Firefox, Opera), removes the problematic groove width value, and takes the computed color value from Chrome.