CSS 中的垂直对齐
我在
中有一个
。 Div 中是文本,该文本的大小会发生变化。html:
<li id="button_welcome"><div>Welcome</div></li>
css:
#about_nav li{
height:48px;
width:130px;
margin-bottom:15px;
}
#about_nav li div{
text-align:right;
margin-right:10px;
vertical-align:middle;
}
如何让文本保持在
的中间?PS 我在
上有一个渐变背景,但我删除了它,因为它太大了。欢呼吧,
弗雷泽
I have an <div>
in an <li>
. In the Div is text, the size of that text changes.
html:
<li id="button_welcome"><div>Welcome</div></li>
css:
#about_nav li{
height:48px;
width:130px;
margin-bottom:15px;
}
#about_nav li div{
text-align:right;
margin-right:10px;
vertical-align:middle;
}
how do i get the text to stay in the middle of the <li>
?
P.S. i have a gradient background on the <li>
but i removed it because it is bulky.
cheer,
Fraser
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
更新
如果你想使用渐变背景,你可以尝试CSS方式;看看小提琴...
http://jsfiddle.net/UnsungHero97/F5FEg/1/
相反,如果您想使用图像,它不应影响文本的放置方式,因为这是“背景”图像。如果您确实遇到了一些奇怪的定位,请更新您的问题并向我们展示代码/屏幕截图/小提琴的问题所在。
给它一个与
一样高的
line-height
...垂直对齐是一件棘手的事情。看看这篇文章,了解如何
vertical-align
工作以及如何一般垂直对齐事物...http://phrogz.net/CSS/vertical-align/index.html
我希望这会有所帮助。
赫里斯托
UPDATE
If you want to use a gradient for a background, you could try the CSS way; check out the fiddle...
http://jsfiddle.net/UnsungHero97/F5FEg/1/
Instead, if you want to use an image, it shouldn't affect how the text is positioned since this is a "background" image. If you do get some weird positioning, update your question and show us exactly what the problem is with code/screenshots/fiddle.
Give it a
line-height
as tall as the<li>
...Vertical alignment is a tricky business. Take a look at this article on getting a better understanding on how to
vertical-align
works and how to align things vertically in general...http://phrogz.net/CSS/vertical-align/index.html
I hope this helps.
Hristo
神奇之处在于使用 css 模拟表格布局
The magic is to use simulate a table layout with css
使 line-height 与 height 的值相同。字体大小应小于高度。
Make the line-height the same value as the height. The font size should be smaller than the height.
我非常喜欢 Hristos 的回答 =) 这是另一个解决方案:
如果设置 div 的高度和宽度,则可以使用 Vertical -align 属性
请参阅示例: http://jsfiddle.net/3asEN/
I like Hristos answer a lot =) Heres another solution:
If you set the height and width of the div you can use the vertical -align property
See an Example: http://jsfiddle.net/3asEN/
添加文本对齐:居中;到 div 或 li。
Add text-align: center; to the div or the li.