Finding/setting css line-height defaults

僤鯓⒐⒋嵵緔 提交于 2019-12-04 02:57:24

问题


One strange thing I've noticed when trying to normalize my css across browsers is that default line-height properties for h-elements and other major tag types are different across browsers like Chrome and Firefox, and yet are not set at the user-agent level:

  • http://codesearch.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/css/html.css
  • http://mxr.mozilla.org/mozilla-central/source/layout/style/html.css

Moreover, popular normalizers like normalize.css don't take care of that either.

So my question is two parts:

  1. If line-heights aren't set at the user agent level, where are the default values coming from?
  2. I'd rather not normalize line-heights myself, but if I have to, where is a good example of some defaults?

回答1:


I agree that "things aren't meant to be exactly the same" is somewhat of a cop-out, especially as even IE comes on board with pretty good standards adoption.

Relative (120%, 1, 1em) line-height values are based on the computed font-size, Normal is supposed to be based on font size but it can and does vary from browser to browser, as you can see by opening up this example in FF and Chrome: http://jsfiddle.net/mahalie/BSMZe/6/

I generally look to HTML5 Boilerplate for queues on best practices since it is so popular (and therefore well vetted / under a lot of scrutiny. They use:

body { margin: 0; font-size: 13px; line-height: 1.231; }

And their discussion of it is quite interesting although no perspective is the clear winner: https://github.com/h5bp/html5-boilerplate/issues/724



来源:https://stackoverflow.com/questions/7849506/finding-setting-css-line-height-defaults

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!