Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 强制图像始终位于div的中间_Html_Css_Image_Alignment_Center - Fatal编程技术网

Html 强制图像始终位于div的中间

Html 强制图像始终位于div的中间,html,css,image,alignment,center,Html,Css,Image,Alignment,Center,我正在寻找强制图像元素始终保持在div中间对齐的方法,即使div元素太小而无法正确居中。以下是我想做的解释: 如果可能,我需要纯CSS的解决方案?您可以使用displayflex这样做 div{ 宽度:100%; 高度:500px; 边框:1px纯色灰色; 显示器:flex; 调整项目:灵活启动; 文本对齐:居中; } img{ 自对准:居中; 保证金:0自动; } 您可以使用displayflex这样做 div{ 宽度:100%; 高度:500px; 边框:1px纯色灰色; 显示器:fle

我正在寻找强制图像元素始终保持在div中间对齐的方法,即使div元素太小而无法正确居中。以下是我想做的解释:


如果可能,我需要纯CSS的解决方案?

您可以使用display
flex
这样做

div{
宽度:100%;
高度:500px;
边框:1px纯色灰色;
显示器:flex;
调整项目:灵活启动;
文本对齐:居中;
}
img{
自对准:居中;
保证金:0自动;
}

您可以使用display
flex
这样做

div{
宽度:100%;
高度:500px;
边框:1px纯色灰色;
显示器:flex;
调整项目:灵活启动;
文本对齐:居中;
}
img{
自对准:居中;
保证金:0自动;
}

使用以下网格布局和样式:

 style{
    .container{ max-width:800px; margin:0 auto;}

}

@media
only screen and (max-width:600px) {
.mCenter{margin:0 auto;}
.mImage600:{width:100%; height:auto;}
}

<div class=container>
<div class=mCenter>
<img class=mImage600 src 'img.jpg' width=600 >
</div>
<div>
风格{
.container{最大宽度:800px;边距:0自动;}
}
@媒体
仅屏幕和屏幕(最大宽度:600px){
.mCenter{margin:0 auto;}
.mImage600:{宽度:100%;高度:自动;}
}

使用以下网格布局和样式:

 style{
    .container{ max-width:800px; margin:0 auto;}

}

@media
only screen and (max-width:600px) {
.mCenter{margin:0 auto;}
.mImage600:{width:100%; height:auto;}
}

<div class=container>
<div class=mCenter>
<img class=mImage600 src 'img.jpg' width=600 >
</div>
<div>
风格{
.container{最大宽度:800px;边距:0自动;}
}
@媒体
仅屏幕和屏幕(最大宽度:600px){
.mCenter{margin:0 auto;}
.mImage600:{宽度:100%;高度:自动;}
}

使用此居中技巧可以满足您的需求:

img {
  position:relative; (or absolute, it depends on your needs)
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
}

这将保持图像居中,无论其所在容器的大小。但它不会调整图像的大小。根据这张照片,你似乎不想看到它。

使用此居中技巧应该可以满足你的需求:

img {
  position:relative; (or absolute, it depends on your needs)
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
}
这将保持图像居中,无论其所在容器的大小。但它不会调整图像的大小。从那张照片上看,你似乎不想看到它。

可能会有帮助


可以帮忙吗

在我收到的所有答案中,你几乎接近我想要的!这似乎可行,但我面临一个小问题:图像的尺寸如何?事实上,我需要的东西适用于图像的各个维度(肖像、付款、立方体),你有什么想法吗?嗯,我想如果你去掉div框的高度,然后从img中去掉“top:50%”,然后将“transform:translate(-50%,-50%)”改为“transform:translateX(-50%),你会得到一个水平居中的图像,div大小将与图像的高度匹配。然后,你可以在图片的顶部和底部添加填充,以留出空间。在我收到的所有答案中,你几乎接近我想要的!这似乎可行,但我面临一个小问题:图像的尺寸如何?事实上,我需要的东西适用于图像的各个维度(肖像、付款、立方体),你有什么想法吗?嗯,我想如果你去掉div框的高度,然后从img中去掉“top:50%”,然后将“transform:translate(-50%,-50%)”改为“transform:translateX(-50%),你会得到一个水平居中的图像,div大小将与图像的高度匹配。然后,您可以在图像的顶部和底部添加填充以留出空间。