图像垂直居中
HTML:
<ul>
<li><img src="image1.png" /></li>
<li><img src="image2.png" /></li>
<li><img src="image3.png" /></li>
<li><img src="image4.png" /></li>
<li><img src="image5.png" /></li>
<li><img src="image6.png" /></li>
</ul>
...图像大小不同,我想将它们垂直居中。
jQuery:
$('ul li').css('paddingTop', height($("ul li").height() - ("li img") / (2)));
# padding-top = height of li - height of image / 2
..但这不起作用。
HTML:
<ul>
<li><img src="image1.png" /></li>
<li><img src="image2.png" /></li>
<li><img src="image3.png" /></li>
<li><img src="image4.png" /></li>
<li><img src="image5.png" /></li>
<li><img src="image6.png" /></li>
</ul>
... the images are all different sizes, I'd like to center them vertically.
jQuery:
$('ul li').css('paddingTop', height($("ul li").height() - ("li img") / (2)));
# padding-top = height of li - height of image / 2
.. but this isn't working.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
更好的方法?
如果您使用 jQuery,为什么不使用居中插件之一?
目前的问题
下面的行有很多问题:
height()
不是一个函数,除非您在其他地方声明了它。如果是这样,它到底应该做什么?请注意,我不是指$.height()
,它是 jQuery 框架中的有效方法。此外,("li img")
不是数值,因此将其除以 2 没有任何意义。也许以下内容可能更有帮助:
A Better Way?
If you're using jQuery, why not use one of the centering plugins?
Present Problems
The following line has many problems:
height()
is not a function, unless you've declared it elsewhere. If so, what is it suppose to do exactly? Note, I'm not referring to$.height()
, which is a valid method in the jQuery Framework. Additionally,("li img")
is not a numerical value, so dividing it by 2 makes no sense.Perhaps the following may be more helpful:
我认为 @Jonathan 的答案是你应该遵循的(居中插件),但这里是你的代码清理了不少:
当然,这只有当
li
在 CSS 中具有固定高度时才有效。I think @Jonathan's answer is what you should follow ( centering plugin ) but here is your code cleaned up quite a bit:
Of course, this will only work when the
li
has a fixed height in the CSS.垂直居中
Vertically center