!
也想出现在这里? 联系我们
广告位

CSS未知高度元素垂直居中解决方法

通常产品列表,我们希望产品图片是在一个盒子内垂直居中,如果图片尺寸未知,且希望保持原来的宽高比例,就涉及到未知高度元素垂直居中的问题。

如果不用考虑IE6/7,问题会非常简单,display: table-cell 可以将元素以表格单元格的形式呈现,那么垂直居中就不是问题了,现在我们的情况是要考虑IE6/7,display: table-cell 在IE6/7下行不通。

首先我们来看这样一段HTML:

<ul>
<li><a href="" rel="external nofollow" ><img src="" alt="" /></a></li>
</ul&gt;

其中,li的宽和高都是固定的,但图片的宽和高可能是不确定的,此时,如果希望图片水平居中,只需要给li应用text-align: center 即可,但如果需要图片垂直居中就不那么容易了。

网上有许多方法可以实现不固定高度元素垂直居中,例如:背景法、添加标签法,但这类破坏HTML结构的方法都是我不想要的,最后采用了淘宝的方法。

li a {
width: 160px;
height: 160px;
padding: 2px;
background-color: #fafafa;
border: 1px solid #ececec;
margin: 0 auto;
display: table-cell;
*display: inline-block;
*font-size: 140px;
*font-family: Arial;
vertical-align: middle;
}
li img {
vertical-align: middle;
}

关键代码为:

li a {
display: table-cell;
*display: inline-block;
*font-size: 140px;
*font-family: Arial;
vertical-align: middle;
}
li img {
vertical-align: middle;
}

我不是很情愿使用Hack,但实在没办法,使用Hack总比在HTML中添加额外元素要好得多,所以个人觉得这是目前我所知的最好的解决方法。

这里需要注意font-size的值,是根据li的高度除以1.14得来的,具体为什么淘宝工程师也不知道。

另外,如果图片的高度的是固定的,那么可以使用绝对定位加负外边距实现。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress RSS版本文章链接标签:permalink_single_rss

2021-4-12 11:30:13

WordPress教程

WordPress添加评论引用方法

2021-4-12 23:29:50

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索