By default, browsers set `text-transform:none` on most form controls in order to prevent `text-transform` being inherited from ancestor nodes. However, the `button` and `select` elements are exceptions. * Firefox and Opera do not apply `text-transform:none` to `select`. * Chrome, Safari, and IE 8+ do not apply `text-transform:none` to `button. It's not suitable to set `text-transform:inherit` because all other form elements intentionally avoid it. Safari will not honour that style for `select`, and Chrome will only do so when the `select` element is clicked. Further details: http://tjvantoll.com/2012/07/10/default-browser-handling-of-the-css-text-transform-property/
Firefox uses different `box-sizing` and `height` values to all other browsers. Firefox doesn't currently support `box-sizing` without the `-moz-` prefix, so we use both the vendor-prefixed and unprefixed properties to ensure that it matches the `content-box` value of other browsers. It also requires the `height` to be set to `0`. Fix gh-133
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: h5bp/mobile-boilerplate#121 ...so the fix needs to be reintroduced.
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 #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