webkit 与 firefox 的文本高度
我有相当大的文本(字体大小 28),我试图在固定高度的容器中垂直对齐。
我是用眼睛来做这件事,只是设置一个边距顶部,以便它到达正确的位置。然而,在 Firefox 中,我需要 20 像素的上边距,在 Safari 中,我需要 15 像素(否则太低了)。我发现这种差异是因为 Safari 中的文本元素比 Firefox 中的要高,并且顶部包含少量空白,而这些空白在 Firefox 中不会显示(在 Firefox 中,文本元素的顶部恰好是文本开始的时间) )。
我已经尝试了所有带有行高的显示组合,也许还为文本添加了宽度/高度等。什么都不起作用。
我可以做些什么来使这一点保持一致?我不想使用 JS,但这似乎是唯一的选择......
I have quite large text (font size 28) I'm trying to align vertically in a fixed-height container.
I'm doing this by eye and just setting a margin-top so that it gets to the right spot. However, when in Firefox, I need a margin-top of 20px, in Safari I need like 15px (else it's too far down). I saw that the discrepancy was because in Safari the text element is taller than in Firefox and includes a slight amount of whitespace on top that doesn't show up in Firefox (in Firefox, the top of the text element is exactly when the text starts).
I've tried all kinda of display combinations with line-heights and perhaps adding a width/height for the text and whatnot. Nothing works.
What can I do to make this consistent? I'd hate to use JS but it seems like the only option...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于跨浏览器 CSS 规范化,我建议重置 - YUI3 有一个很好的,Twitter Bootstrap 是另一个很好的。它基本上将 paddings 和 margins 设置为 0,因此所有浏览器的行为都会遵循您的 css 规则,而不是它们自己的默认规则。
要将文本与容器垂直对齐,如果它是单行文本,请使用
line-height
属性,并将其设置为等于容器的高度。例如:
CSS:
HTML:
示例:http://jsfiddle .net/Djvv7/
For cross-browser CSS normalization I'd recommend a reset - YUI3 has a good one, Twitter Bootstrap is another good one. It basically sets paddings and margins to 0 so all browsers will behave and only adhere to YOUR css rules and not their own default rules.
For vertically aligning text to containers, if it's a single line of text, use the
line-height
property, and set it to equal the height of the container.For example:
CSS:
HTML:
Example: http://jsfiddle.net/Djvv7/
您需要应用 CSS 重置。在所有项目上使用一个的良好实践。我知道的最著名的是: http://meyerweb.com/eric/tools/css/重置/
You need to apply a css reset. Good practice to use one on all projects. The most famous I know of is: http://meyerweb.com/eric/tools/css/reset/