如果卡片视图中的图像高度不相等,有没有办法将图像垂直居中?
for i in range(questions): #ask 10 questions
score += quiz()
我还使用JS将<div class="ui three cards">
<div class="ui card">
<div class="image">
<img class="ui image" src="https://dl.dropboxusercontent.com/u/2438119/demo_products/1/aparat1.jpg">
</div>
<div class="content">Lorem ipsum dolor sit.</div>
</div>
<div class="ui card">
<div class="image">
<img class="ui image" src="https://dl.dropboxusercontent.com/u/2438119/demo_products/2/aparat2.jpg">
</div>
<div class="content">Lorem ipsum dolor sit.</div>
</div>
<div class="ui card">
<div class="image">
<img class="ui image" src="https://dl.dropboxusercontent.com/u/2438119/demo_products/3/aparat3.jpg">
</div>
<div class="content">Lorem ipsum dolor sit.</div>
</div>
</div>
置于同等高度。 Here是Fiddle。
答案 0 :(得分:0)
通过你的jsfiddle例子我做了一些改变。
改变了什么:
img
class="ui image"
的equalheight('.ui.card div.image');
之后我添加了更多javascript
代码 js
代码首先找到其类divs
中的所有cards
代码。然后,搜索img
内的所有divs
标记。
然后计算height
标记及其父img
的{{1}}除以2并减去div
img
位置。
完成计算后,在top
投放,添加img
我认为,如果您可以从maring-top:*calculation*px
删除class
,这是可以的。
我希望这就是你所需要的。
答案 1 :(得分:0)
我没有看过你的代码,但有一种方法可以将翻译中的内容集中在这里:
.element {
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
这里有一个我用中心水平和垂直
制作的jsfiddle答案 2 :(得分:0)
我选择了这个解决方案,因为它不涉及复杂的JS(由SemanticORG成员之一回答 - Jack Lukic):
<div class="ui three cards">
<div class="ui card">
<div class="image">
<img src="https://dl.dropboxusercontent.com/u/2438119/demo_products/1/aparat1.jpg">
</div>
<div class="content">Lorem ipsum dolor sit.</div>
</div>
<div class="ui card">
<div class="image">
<img src="https://dl.dropboxusercontent.com/u/2438119/demo_products/2/aparat2.jpg">
</div>
<div class="content">Lorem ipsum dolor sit.</div>
</div>
<div class="ui card">
<div class="image">
<img src="https://dl.dropboxusercontent.com/u/2438119/demo_products/3/aparat3.jpg">
</div>
<div class="content">Lorem ipsum dolor sit.</div>
</div>
</div>
.ui.card .image {
display: flex !important;
align-items: center !important;
padding: 0 1em !important;
background-color: #fff !important;
}
equalheight = function(container){
var currentTallest = 0,
currentRowStart = 0,
rowDivs = new Array(),
$el,
topPosition = 0;
$(container).each(function() {
$el = $(this);
$($el).height('auto')
topPostion = $el.position().top;
if (currentRowStart != topPostion) {
for (currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) {
rowDivs[currentDiv].height(currentTallest);
}
rowDivs.length = 0; // empty the array
currentRowStart = topPostion;
currentTallest = $el.height();
rowDivs.push($el);
} else {
rowDivs.push($el);
currentTallest = (currentTallest < $el.height()) ? ($el.height()) : (currentTallest);
}
for (currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) {
rowDivs[currentDiv].height(currentTallest);
}
});
}
$(document).ready(function() {
equalheight('.ui.card div.image');
$(window).on('resize', function() {
equalheight('.ui.card div.image')
});
});
在js中调整图像大小是一个很滑的斜率
虽然小心那个
你也不必在图像中嵌套ui图像
并调整大小..