Html 在列表项中使用垂直居中文本调整响应图像大小
我的目标是有3个并排的图像,其中包含垂直和水平居中的文本,并且图像具有响应性 根据我的理解,当在父元素中垂直居中时,父元素应该是绝对的,子元素应该是相对的,并被转换-在执行top:50%后为50% 我这里有一个密码笔: 但似乎有点不对劲。当我注释掉position:relative然后取消注释它时,它再也不会回到原来的状态 我试图保持图像的纵横比,但现在我甚至不明白为什么文本不会垂直居中。我的真实代码更像底部的UL HTML:Html 在列表项中使用垂直居中文本调整响应图像大小,html,css,image,responsive-design,vertical-alignment,Html,Css,Image,Responsive Design,Vertical Alignment,我的目标是有3个并排的图像,其中包含垂直和水平居中的文本,并且图像具有响应性 根据我的理解,当在父元素中垂直居中时,父元素应该是绝对的,子元素应该是相对的,并被转换-在执行top:50%后为50% 我这里有一个密码笔: 但似乎有点不对劲。当我注释掉position:relative然后取消注释它时,它再也不会回到原来的状态 我试图保持图像的纵横比,但现在我甚至不明白为什么文本不会垂直居中。我的真实代码更像底部的UL HTML: 为什么不在包装器上使用display:table,在子对象上使用ta
为什么不在包装器上使用display:table,在子对象上使用table单元格呢。这是垂直对齐的最简单方法,不会造成实际表格的混乱。此外,如果单元格宽度设置为33.3%,它们将相互对齐,响应速度快,并且可以轻松覆盖,以便mobile将图像垂直放置。为什么不使用显示:包装器上的表格和子级上的表格单元格。这是垂直对齐的最简单方法,不会造成实际表格的混乱。此外,如果单元格宽度设置为33.3%,它们将相互对齐,响应速度快,并且移动设备可以轻松覆盖它们以垂直放置图像。您可以使用
#offersList li
元素上的flexbox并删除上的top
和transform
属性。offers
#offersList li {
display: inline-flex;
align-items: center;
justify-content: center;
}
您可以在
#offersList li
元素上使用flexbox,并删除上的top
和transform
属性
#offersList li {
display: inline-flex;
align-items: center;
justify-content: center;
}
主要问题是您的translate
设置:要将其同时用于x轴和y轴,必须这样编写(在ul li p
内),否则第二个translate
将覆盖第一个:
transform: translate(-50%, -50%);
此外,您还必须将边距:0
添加到此规则中,以重置默认边距。因此,完整的规则是:
ul li p {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
display: inline-block;
margin: 0;
padding: 20px 25px;
background: #2f3134;
color: white;
}
使用此解决方案的代码笔:主要问题是您的翻译设置:要同时对x轴和y轴使用它,您必须这样写(在ul li p
内),否则第二个翻译将覆盖第一个:
transform: translate(-50%, -50%);
此外,您还必须将边距:0
添加到此规则中,以重置默认边距。因此,完整的规则是:
ul li p {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
display: inline-block;
margin: 0;
padding: 20px 25px;
background: #2f3134;
color: white;
}
使用此解决方案编写代码:最好使用img响应类您想要这样的吗??事实上,当你们把div设置在side ul时,问题就来了。最好使用一个img响应类。你们想要这样的东西吗??实际上,在ul侧设置div是个问题