我如何使用css用IMG填充DIV height并将IMG居中?
如何使用img填充div容器高度并使img居中 在下面的例子中,我想让狗图片填充容器的高度,它必须保持比例,所以我不在乎它有多宽 但也我希望无论屏幕有多宽,狗的图片都位于容器的中心 HTML 见下面的代码笔我如何使用css用IMG填充DIV height并将IMG居中?,css,centering,Css,Centering,如何使用img填充div容器高度并使img居中 在下面的例子中,我想让狗图片填充容器的高度,它必须保持比例,所以我不在乎它有多宽 但也我希望无论屏幕有多宽,狗的图片都位于容器的中心 HTML 见下面的代码笔 请参阅上winchendonsprings()的画笔。将以下CSS添加到现有CSS。它将.single-pieceDIV和img设置为100%高,将图像移动到水平中间位置(使用左边距:50%),并将图像向左移回其自身宽度的50%。这将适用于比容器窄的图像(左侧和右侧留有空白)和更宽的图像(溢
请参阅上winchendonsprings()的画笔。将以下CSS添加到现有CSS。它将
.single-piece
DIV和img设置为100%高,将图像移动到水平中间位置(使用左边距:50%
),并将图像向左移回其自身宽度的50%。这将适用于比容器窄的图像(左侧和右侧留有空白)和更宽的图像(溢出被隐藏)
将以下CSS添加到现有CSS。它将
.single-piece
DIV和img设置为100%高,将图像移动到水平中间位置(使用左边距:50%
),并将图像向左移回其自身宽度的50%。这将适用于比容器窄的图像(左侧和右侧留有空白)和更宽的图像(溢出被隐藏)
您可以叠瓦
弹性框,并将最大高度/最大宽度设置为img
,并通过边距:自动或对齐项目/对齐内容:居中
例如:
.posts{
显示器:flex;
柔性流:行换行;
对齐项目:拉伸;
对齐内容:拉伸;
宽度:90%;
保证金:0自动;
}
.邮政{
弹性:0.1 calc(33.33%-0.666em);
高度:350px;
溢出:隐藏;
边框:1px纯红;
右边距:1米;
}
/*增加*/
.post,.单件{
高度:350px;
显示器:flex;
对齐项目:居中;
证明内容:中心;
}
/*结束添加*/
。职位:第n名子女(第3名){
右边距:-1em;/*仅用于代码笔*/
}
img{
显示:块;/*添加或使用垂直对齐*/
最大宽度:100%;/*已添加*/
最大高度:100%;/*已添加*/
边距:自动;/*添加了中心-x,y伸缩子对象*/
}
您可以叠加flex
框,并将最大高度
/最大宽度
设置为img
,并通过边距:自动
或对齐项目
/对齐内容
:居中
例如:
.posts{
显示器:flex;
柔性流:行换行;
对齐项目:拉伸;
对齐内容:拉伸;
宽度:90%;
保证金:0自动;
}
.邮政{
弹性:0.1 calc(33.33%-0.666em);
高度:350px;
溢出:隐藏;
边框:1px纯红;
右边距:1米;
}
/*增加*/
.post,.单件{
高度:350px;
显示器:flex;
对齐项目:居中;
证明内容:中心;
}
/*结束添加*/
。职位:第n名子女(第3名){
右边距:-1em;/*仅用于代码笔*/
}
img{
显示:块;/*添加或使用垂直对齐*/
最大宽度:100%;/*已添加*/
最大高度:100%;/*已添加*/
边距:自动;/*添加了中心-x,y伸缩子对象*/
}
编辑:此代码可能会对您有所帮助,它使用JS使用img元素填充您的div
var divParent = document.createElement('div');
divParent.style.cssText = `height:(${dynamicdivheight(x)}cm);width:calc(25mm - 1px);overflow:hidden;`;
//this loop is for vertical alignment
for(var i = 0; divHeight/imgheight > i; i++){
//treat each row separately
//this loop is for horizontal alignment
for(var y=0; divWidth/imgheight > y; y++) {
if (y == 0) {
var bgImage = document.createElement('img');
bgImage.src = "img/Sand.png";
bgImage.style.width ="1cm";
bgImage.style.position = "absolute";
bgImage.style.top = i + "cm";
bgImage.id = `bgImage_${y}`;
}
if (y != 0) {
var bgImage = document.createElement('img');
bgImage.src = "img/Sand.png";
bgImage.style.width ="1cm";
bgImage.style.position = "absolute";
bgImage.style.left = y + "cm";
bgImage.style.top = i + "cm";
bgImage.id = `bgImage_${y}`;
}
divParent.appendChild(bgImage);
}
EDIT:这段代码可能会对您有所帮助,它使用JS用img元素填充您的div
var divParent = document.createElement('div');
divParent.style.cssText = `height:(${dynamicdivheight(x)}cm);width:calc(25mm - 1px);overflow:hidden;`;
//this loop is for vertical alignment
for(var i = 0; divHeight/imgheight > i; i++){
//treat each row separately
//this loop is for horizontal alignment
for(var y=0; divWidth/imgheight > y; y++) {
if (y == 0) {
var bgImage = document.createElement('img');
bgImage.src = "img/Sand.png";
bgImage.style.width ="1cm";
bgImage.style.position = "absolute";
bgImage.style.top = i + "cm";
bgImage.id = `bgImage_${y}`;
}
if (y != 0) {
var bgImage = document.createElement('img');
bgImage.src = "img/Sand.png";
bgImage.style.width ="1cm";
bgImage.style.position = "absolute";
bgImage.style.left = y + "cm";
bgImage.style.top = i + "cm";
bgImage.id = `bgImage_${y}`;
}
divParent.appendChild(bgImage);
}
要适应paren div,可能需要使用“inherit”属性值。看看这里:为了适应paren div,您可能需要使用“inherit”属性值。请看这里:@GCyrullus此解决方案看起来简单而优雅,只是它不会使图像垂直增长以适合div。“我错过了什么吗?”温琴顿斯普林斯,不,你没有,我不明白这一点,否则我会提出其他东西来裁剪你的形象。(对象适合,不使用clip()进行剪裁,绝对+文本对齐)..@GCyrullus此解决方案看起来简单而优雅,只是它不会使图像垂直生长以适合div。“我错过了什么吗?”温琴顿斯普林斯,不,你没有,我不明白这一点,否则我会提出其他东西来裁剪你的形象。(对象匹配、不带剪辑的剪辑()、绝对+文本对齐)…惊人。我从来不记得变换属性。谢谢太神了我从来不记得变换属性。谢谢
.single-piece {
height: 100%;
}
.single-piece a {
width: 100%;
overflow-x: hidden;
}
.single-piece a img {
height: 100%;
width: auto;
margin-left: 50%;
transform: translatex(-50%);
}
var divParent = document.createElement('div');
divParent.style.cssText = `height:(${dynamicdivheight(x)}cm);width:calc(25mm - 1px);overflow:hidden;`;
//this loop is for vertical alignment
for(var i = 0; divHeight/imgheight > i; i++){
//treat each row separately
//this loop is for horizontal alignment
for(var y=0; divWidth/imgheight > y; y++) {
if (y == 0) {
var bgImage = document.createElement('img');
bgImage.src = "img/Sand.png";
bgImage.style.width ="1cm";
bgImage.style.position = "absolute";
bgImage.style.top = i + "cm";
bgImage.id = `bgImage_${y}`;
}
if (y != 0) {
var bgImage = document.createElement('img');
bgImage.src = "img/Sand.png";
bgImage.style.width ="1cm";
bgImage.style.position = "absolute";
bgImage.style.left = y + "cm";
bgImage.style.top = i + "cm";
bgImage.id = `bgImage_${y}`;
}
divParent.appendChild(bgImage);
}