如何将 css 精灵置于 div 的中心?
how to center a css sprite inside a div?
我创建了一个 css 精灵来组合我主页上出现的几张图片。但是,我现在无法显示这些图像。
您看到图像(商店徽标)没有集中显示。这是我的 html 代码:
<div class="slider-slick">
<?php foreach($stores as $store){?>
<div class="slide">
<div class="client">
<div class="sprite sprite-<?php echo $store->_storeName?>"></div>
</div>
</div>
<?}?>
</div>
精灵的 css 是:
.sprite {
background-image: url(../images/spritesheet-logos.png);
background-repeat: no-repeat;
margin: auto;
}
.sprite-store1 {
width: 149px;
height: 71px;
background-position: -5px -5px;
}
.sprite-store2 {
width: 148px;
height: 23px;
background-position: -164px -5px;
}
父 div 是:
.client {
padding: 70% 0 0;
background: #ffffff;
}
删除填充后它们看起来像:
我一直在尝试所有不同的保证金选项,但无法真正做到。任何想法如何使它们看起来像这样:
在你的 .sprite 中试试这个 css:
background-position: center;
(我找到了here)
尝试使用 flexbox:
.client {
display: flex;
justify-content: center;
align-items: center;
}
不要使用内边距来使不同高度的内部元素居中。
给父级高度并填充背景颜色
.client {
padding: 0;
background: #ffffff;
height: 71px;
}
并使用变换定位内部 div,因此它将以任何高度居中。
.client > div {
position: relative;
top: 50%;
transform: translateY(-50%);
}
我创建了一个 css 精灵来组合我主页上出现的几张图片。但是,我现在无法显示这些图像。
您看到图像(商店徽标)没有集中显示。这是我的 html 代码:
<div class="slider-slick">
<?php foreach($stores as $store){?>
<div class="slide">
<div class="client">
<div class="sprite sprite-<?php echo $store->_storeName?>"></div>
</div>
</div>
<?}?>
</div>
精灵的 css 是:
.sprite {
background-image: url(../images/spritesheet-logos.png);
background-repeat: no-repeat;
margin: auto;
}
.sprite-store1 {
width: 149px;
height: 71px;
background-position: -5px -5px;
}
.sprite-store2 {
width: 148px;
height: 23px;
background-position: -164px -5px;
}
父 div 是:
.client {
padding: 70% 0 0;
background: #ffffff;
}
删除填充后它们看起来像:
我一直在尝试所有不同的保证金选项,但无法真正做到。任何想法如何使它们看起来像这样:
在你的 .sprite 中试试这个 css:
background-position: center;
(我找到了here)
尝试使用 flexbox:
.client {
display: flex;
justify-content: center;
align-items: center;
}
不要使用内边距来使不同高度的内部元素居中。
给父级高度并填充背景颜色
.client {
padding: 0;
background: #ffffff;
height: 71px;
}
并使用变换定位内部 div,因此它将以任何高度居中。
.client > div {
position: relative;
top: 50%;
transform: translateY(-50%);
}