绝对定位的div图片居中自适应

需求点

固定定位div中添加图片内容,保证图片垂直居中,并且自适应。
一般在第三方UI组件中,这种布局需求较为常见

解决方案一 (亲测有效)

HTML代码:

<div class="el-carousel__item is-active is-animating">
	<img src="/static/img/login-bg3.51c5580.png" alt="">
</div>

CSS代码:

.el-carousel__item {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: inline-block;
    overflow: hidden;
    z-index: 0;
}
/* 这是图片正常居中的常规写法 */
img {
	position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 81.7%; 
}

img的样式中,它的宽度由设计稿的定宽与图片宽度的比例决定的。

  • 温馨提示:
  • 宽度撑不开问题:可以在img的外层div 添加width:100%; padding: 0 50% 解决撑不开父类div的问题。
  • 高度占不满屏幕问题:保证当前div的高度是从最外层div的高度一层一层继承下来,如果没有,就需要在其父级添加height: 100%或者height: inherit
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
想要实现h5 div自适应居中,有几种方法可以选择: 第一种方法是使用CSS的flexbox布局。将父级容器的display属性设置为flex,并使用justify-content和align-items属性将子元素居中。 例如: ```css .parent { display: flex; justify-content: center; align-items: center; } ``` 然后将需要居中div放置在父级容器中即可。 第二种方法是使用绝对定位和transform属性。将div的position属性设置为absolute,然后使用top、left、right、bottom属性以及margin:auto将其居中。 例如: ```css .child { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; } ``` 这样,div将相对于父级容器居中。 第三种方法是使用flexbox的垂直居中技巧。将div的display属性设置为inline-block,然后使用vertical-align: middle属性将其垂直居中。 例如: ```css .child { display: inline-block; vertical-align: middle; } ``` 这样,div将在行内显示,并且垂直居中。 总结来说,使用CSS的flexbox布局、绝对定位和transform属性或者inline-block和vertical-align属性都可以实现h5 div自适应居中。具体选择哪种方法取决于具体的需求和兼容性要求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [HTML5 图片宽高自适应居中裁剪不失真](https://blog.csdn.net/weixin_39663970/article/details/117830335)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值