No longer supports IE 6/7, Firefox < 4, and Safari < 5.
* Make use of `inherit` to simplify some of the rules.
* Remove a lot of padding and margin normalization, particularly for
typographic elements, because modern browsers share common base
styles.
* Add `quotes` normalization. While all target browsers support
`quotes`, they don't share a common set of quote styles. Opera and IE
use "curly" quotes whereas other browsers do not. Browsers don't
appear to set different quotes depending on the language (via the
`lang` attribute) of the content.
* Remove all list normalizations and they aren't needed anymore.
* Remove a handful of form normalizations that targetted IE 6/7 or
Firefox 3.
Make the font size for `small` not quite so small. The default value of
`smaller` doesn't scale the base font size down by the same proportion
whatever the base size. IE 6/7/8 end up rendering small text larger than
most modern browsers. Opera can render it slightly smaller than Chrome
and Firefox when the base font size is relatively large.
The previous size of `75%` was a bit too small.
This fix was first introduced to deal with Chrome < 13 destroying the
appearance of native `audio` and `video` button controls when
`-webkit-appearance` is set on `input[type="button"]`. See #20
Android 4.0.* seems to use a version of WebKit that contains this bug.
See: https://github.com/h5bp/mobile-boilerplate/issues/121
...so the fix needs to be reintroduced.
This commit reverts the following 5 commits:
49392e9df2f9572a461a79e2c16ba52691e7ab14567af2e7d6
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.
Correct the indentation for the WebKit placeholder focus rule and move
the placeholder rules to the bottom of the forms normalization.
Update the timestamp.
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.
A bug in iOS5 means that `audio` elements without controls are not
entirely hidden. They retain some height, as demonstrated in this test
case: http://jsbin.com/ios-audio-bug/3
The fix is to add `height: 0` to the rule.
Fix#69
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.
Initial addition of a `details` and `summary` test to the demo.
These are new HTML5 elements and there is not yet widespread
browser implementation of their interactive functionality.
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
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.