【发布时间】:2012-01-07 19:07:17
【问题描述】:
我有一个表格单元格,我必须在其中设置背景图像,我拥有的背景图像基本上包含 3 个部分,第一个是顶部(效果很好)第二个是底部,看起来也很好,第三个是也就是说,中间部分是一个高度为 57px 的精灵。
该图像(第 3 个)可以在 x 方向上重复,但我需要以某种方式在 Y 方向上拉伸它。
在 Firefox 中,此图像非常适合使用 background-size:contain 属性,但此属性不适用于 IE。
所以我将单元格高度设置为 57px(这是图像的高度)并仅在 x 方向上重复图像。我的 HTML 看起来像这样:
<table>
<tr>
<td>
<ul> //for some reason i'm using li tags for setting the images
<li class="img1"></li>
<li class="img3"></li> //the middle img which is creating the problem
<li class="img2"></li>
</ul>
</td>
</tr>
</table>
这是我为“img3”类编写的css
.img3 {
background-image: url("../images/PictorialViewBoxes/Blue_Middle.jpg");
list-style: none;
color: #FFFFFF;
font-size: 16px;
font-weight: Bolder;
text-align: center;
width: 160px;
word-wrap: normal;
text-transform: capitalize;
cursor: pointer;
padding-left:10px;
padding-right:10px;
min-height: 57px;
max-height: 57px;
font-family: arial;
background-repeat:repeat-x;
overflow-y:hidden;
}
包含这些背景图像的单元格的高度是“自动”现在这工作正常是所有浏览器甚至 IE8 但不是在 IE7 中这是 IE8 和 IE7 中的结果:-
我不明白为什么 IE7 会出现这个空白!!
链接到 JSFiddle:https://jsfiddle.net/qYNAD/8/
【问题讨论】:
-
高度需要自动吗?如果没有,我建议设置一个固定的高度。另外,尝试添加
display: block;:) -
你能reproduce the problem让我们看看吗?
-
@thirtydot 在某种意义上是“复制”??
-
@peduarte 不,高度不必是自动的,我会尝试修复它并添加显示:块
-
@thirtydot:我用他提交的代码创建了一个,但没有重现问题 - jsfiddle.net/qYNAD/2
标签: html css internet-explorer