如何让一个行内元素(如一张图片)在div中居中

(1)第一种:用vertical-align

<div class="method1">
  <span class="tiptop"></span>
  <img class="test" src="img/Dota2.jpg" alt="dota2">
</div>


<style>
.method1{
  text-align:center;
}
/*vertical-align:middle  是依赖div内子元素最高的行高来实现对某元素居中的,而我们只需要建立一个新元素,给他加上inline-block属性 再把他高度设置为100%就行了,在下面的<img>设置vertical-align就生效了*/
.tiptop{
  height:100%;
  display:inline-block;
  vertical-align:middle;
}
img{
  vertical-align:middle;
}
</style>




(2)第二种:flex布局(注意浏览器兼容性)

<div class="method2">
  <img src="img_p1_title.png">
</div>


<style>
.method2 {
  display: flex;
  justify-content: center;  //弹性盒子对象在主轴上的对齐方式
  align-items: center;      //定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。
  background-color:#00a0e9;
  height:200px;
}
.method2 img {
  width:20px;
  height:30px;
  background-color:#0A58A0;
}
</style>





(3)position:absolute;绝对定位方式

<div class="method3">
  <span>第三种方法</span>
</div>



<style>
.method3 {
  width:100%;
  height: 200px;
  font-size: 18px;
  position: relative;
  background-color:#00a2d4;
}
.method3 span {
  width:100px;
  height:100px;
  background-color:#00ACED;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  }
</style>




(4)使用display:table-cell配合vertical-align:center(淘宝也是这样用的)

<div class="method4">
  <span>第四种方法</span>
</div>


<style>
.method4 {
  width: 200px;
  height: 200px;
  vertical-align: middle;
  display: table-cell;  /*只支持IE8+及现代浏览器,与position:absolute;float:left;属性尽量不一起用*/
  text-align: center;
  background-color:#00ACED;
}
.method4{
  width:100px;
  height:100px;
  background-color:#0A58A0;
}
</style>



  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
有几种方法可以实现多个元素在同一垂直居中的效果,以下是其几种常见的方式: 1. 使用 `display: flex` 和 `align-items: center`:将元素的父容器设置为弹性容器,并使用 `align-items: center` 属性来垂直居中元素。 ```html <div style="display: flex; align-items: center;"> <span>文本1</span> <span>文本2</span> </div> ``` 2. 使用 `display: inline-block` 和 `vertical-align: middle`:将元素设置为 `display: inline-block`,并使用 `vertical-align: middle` 属性来垂直居中元素。 ```html <span style="display: inline-block; vertical-align: middle;">文本1</span> <span style="display: inline-block; vertical-align: middle;">文本2</span> ``` 3. 使用绝对定位和负边距:将元素设置为绝对定位,并使用负边距来使其垂直居中。 ```html <div style="position: relative;"> <span style="position: absolute; top: 50%; transform: translateY(-50%);">文本1</span> <span style="position: absolute; top: 50%; transform: translateY(-50%);">文本2</span> </div> ``` 4. 使用表格布局:将元素放置在一个 `<table>` ,并使用表格的属性来垂直居中。 ```html <table> <tr> <td style="vertical-align: middle;">文本1</td> <td style="vertical-align: middle;">文本2</td> </tr> </table> ``` 请注意,这些方法可能会根据具体情况和需求而有所变化。根据实际情况选择适合的方式来实现多个元素在同一垂直居中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值