我正在尝试在Materialize中对齐卡内的垂直图像。我还在卡内使用了一个名为 xlider 的自定义滑块。图像水平居中,但不垂直。
.custom{
width: 350px; /*Used in (1), This is done so the column doesn't change shapes through out any screen*/
}
.prev, .next {
cursor: pointer;
position: absolute;
top: 40%;
width: auto;
padding: 16px;
color: white;
font-weight: bold;
font-size: 18px;
user-select: none;
background-color: rgba(0,0,0,0.8);
display: none;
}
/* Position the "next button" to the right */
.next {
right:0;
}
@media (hover: hover){
.card:hover .prev,
.card:hover .next{
display: block;
}
}
.xlider {
width: inherit;
height: inherit;
display: flex;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}
::-webkit-scrollbar {
display: none;
}
.xlide {
width: 100%;
flex-shrink: 0;
height: inherit;
overflow:hidden;
}
.xlide img {
margin:auto;
position: absolute;
object-fit: contain;
max-height:100%;
align-items: center;
}
<div class="col custom">
<div class="card" >
<div class="card-image grey lighten-3" style="height: 245px; position: relative;overflow: hidden; ">
<div class="xlider">
<div class="xlide"><img src="https://images.craigslist.org/00505_dRUnpYQSFVu_300x300.jpg" ></div>
<div class="xlide"><img src="https://images.craigslist.org/00s0s_eCSJ00mPdFU_300x300.jpg" ></div>
<div class="xlide"><img src="https://images.craigslist.org/00p0p_6neNmaCByuU_300x300.jpg" ></div>
<div class="xlide"><img src="https://images.craigslist.org/00n0n_8uRrQ143Bdz_300x300.jpg" ></div>
<div class="xlide"><img src="https://images.craigslist.org/00J0J_bd1qKahXbwH_300x300.jpg" ></div>
</div>
<a class="prev" onclick="goLeft(this)">❮</a>
<a class="next" onclick="goRight(this)">❯</a>
</div>
</div>
</div>
我已经尝试过将vertical-align,align-item,margin-top放置。到目前为止,所有这些都失败了。
代码的实时版本在这里:
答案 0 :(得分:0)
我只是对CSS进行了一些更改。试试这个:
.xlider {
width: inherit;
height: inherit;
display: flex;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}
.xlide img {
object-fit: contain;
height:100%;
align-items: center;
}