我正在制作Img以获得乐趣。但是现在我的div中有一些文字。我用了代码:
display: table-cell;
vertical-align: middle;
让文本在我的div中精美居中。我也有这个代码:
.vertical-smallborder{
position: relative;
width: 217px;
height: 350px;
border: 5px solid white;
outline: 1px solid #c8c8c8;
float:left;
display: table;
-webkit-transition: all .3s;
-moz-transition: all .3s;
-ms-transition: all .3s;
-o-transition: all .3s;
transition: all .3s;
overflow: hidden;
}
我在那边找到了display: table
的文字。如果我删除它,文本将不会在div中居中。
现在我遇到溢出问题:隐藏了。在 FireFox 和 IE 溢出:如果有display: table
,则隐藏不再有效。
Google Chrome 和 Safari 一起支持display: table
和Overflow:hidden
。
注意:它必须是纯CSS。所以我不能使用任何JavaScript。
由于
答案 0 :(得分:7)
我创建了一个演示如下:
<div class="image-clipper">
<img src="http://placekitten.com/400/500" style="margin: -150px 0 0 -100px;" />
<div class="text-panel">
<div class="text-cell">
<h1>Overhemd<br/>24,95</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
</div>
并使用以下CSS:
.image-clipper {
width: 250px;
height: 300px;
border: 5px solid red;
overflow: hidden;
position: relative;
}
.image-clipper .text-panel {
position: absolute;
top: 0;
left: 0;
display: table;
height: 100%;
}
.image-clipper .text-cell {
display: table-cell;
vertical-align: middle;
padding: 20px; /* works okay */
background-color: rgba(255,255,255,0.5); /* applied to entire cell */
}
我能够在父元素中剪切图像,并根据需要定位表/表格单元格。
请参阅演示:http://jsfiddle.net/audetwebdesign/JpMXP/
<强>后记强>
我没有时间深入审核您的样式表,也没有时间调查表格/表格单元格与overflow: hidden
如何互动的完整详情。但是,这种方法似乎有效并且相对容易理解。
答案 1 :(得分:0)
我建议你删除你的css:
display: table
并将顶部和左侧属性赋予:
.vertical-smallborder .text
然后,如果一个文本更长,则所有文本都将对齐,因为它们具有相同的顶部起点。它会更美。