五种居中方法

五种居中方法

一、第一种是将块元素的两个子元素都设置成inline-block行内块元素,一个元素高度等于父元素的高度,使得两个元素基点相互居中。最后再把等于父元素高度的子元素隐藏起来,另外一个子元素就水平垂直居中了。

<style>
.box{width:500px;height:500px;box-shadow:0 0 5px #000;text-align:center;font-size:0;}
.zi{width:160px;height:100px;background:#0f0;display:inline-block;vertical-align:middle;}
.box:after{content:"";display:inline-block;height:100%;background:#f00;vertical-align:middle;}
</style>
</head>
<body>
<div class="box">
	<div class="zi"></div>
</div>

二、第二种是使用定位和margin:auto来做到水平垂直居中

<style>
.box{width:500px;height:500px;box-shadow:0 0 5px #000;position:relative;}
.zi{width:160px;height:100px;background:#0f0;position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;}
</style>
</head>
<body>
<div class="box">
	<div class="zi"></div>
</div>
</body>

三、第三种是直接使用弹性盒子水平垂直居中。

<style>
.box{width:500px;height:500px;box-shadow:0 0 5px #000;display:flex;justify-content:center;align-items:center;}
.zi{width:160px;height:100px;background:#0f0;}
</style>
</head>
<body>
<div class="box">
 <div class="zi"></div>
</div>
</body>

四、第四种也是使用定位,先让子元素的左上角位于父元素的正中心,然后根据子元素的宽高用margin调整位置。

<style>
.box{width:500px;height:500px;box-shadow:0 0 5px #000;position:relative;}
.zi{width:160px;height:100px;background:#0f0;position:absolute;left:50%;top:50%;margin:-50px 0 0 -80px;}
</style>
</head>
<body>
<div class="box">
 <div class="zi"></div>
</div>
</body>

五、第五种也是用定位,先让子元素的左上角位于父元素的正中心,再使用transform:translate(-50%,-50%)子元素水平垂直居中,这种办法相较于上一种不用考虑子元素的宽高。

<style>
.box{width:500px;height:500px;box-shadow:0 0 5px #000;position:relative;}
.zi{width:160px;height:100px;background:#0f0;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
</style>
</head>
<body>
<div class="box">
 <div class="zi"></div>
</div>
</body>
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 好的,以下是html语言div图片垂直居中和图片水平垂直居中五种方法: 1. 使用Flex布局 可以通过将图片所在的父元素设置为Flex布局,然后使用align-items和justify-content属性来使图片垂直居中和水平居中。 ```html <div class="container"> <img src="image.jpg" alt="image"> </div> <style> .container { display: flex; align-items: center; justify-content: center; height: 100vh; } img { max-width: 100%; max-height: 100%; } </style> ``` 2. 使用绝对定位和负margin值 可以通过设置图片所在的父元素相对定位,然后使用绝对定位和负margin值来使图片垂直居中和水平居中。 ```html <div class="container"> <img src="image.jpg" alt="image"> </div> <style> .container { position: relative; height: 100vh; } img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 100%; max-height: 100%; } </style> ``` 3. 使用表格布局 可以将图片所在的父元素设置为表格布局,然后使用vertical-align和text-align属性来使图片垂直居中和水平居中。 ```html <div class="container"> <table> <tr> <td> <img src="image.jpg" alt="image"> </td> </tr> </table> </div> <style> .container { height: 100vh; display: table; width: 100%; } table { height: 100%; width: 100%; } td { text-align: center; vertical-align: middle; } img { max-width: 100%; max-height: 100%; } </style> ``` 4. 使用line-height属性 可以将图片所在的父元素设置为单行高度,然后使用line-height属性来使图片垂直居中。 ```html <div class="container"> <span></span> <img src="image.jpg" alt="image"> </div> <style> .container { height: 100vh; text-align: center; font-size: 0; } span { display: inline-block; vertical-align: middle; height: 100%; width: 0; line-height: 0; } img { max-width: 100%; max-height: 100%; vertical-align: middle; display: inline-block; } </style> ``` 5. 使用CSS3的transform属性 可以使用CSS3的transform属性来使图片水平垂直居中。 ```html <div class="container"> <img src="image.jpg" alt="image"> </div> <style> .container { height: 100vh; text-align: center; } img { max-width: 100%; max-height: 100%; position: relative; top: 50%; left: 50%; transform: translate(-50%, -50%); } </style> ``` 以上就是div图片垂直居中和图片水平垂直居中五种方法,希望能对你有所帮助。 ### 回答2: 在HTML中,想要将div中的图片垂直居中可以使用以下方法方法一:使用flex布局 在div的样式中,添加display:flex;和 align-items:center;属性,这样可以使图片在垂直方向上居中方法二:使用table-cell属性 将div设置为display: table-cell;和vertical-align:middle;,这样可以使图片在垂直方向上居中方法三:使用绝对定位 将div设置为相对定位的父元素,然后通过将图片设置为绝对定位,并将top和left属性值设置为50%以及translate属性值为(-50%,-50%),这样可以实现图片在垂直和水平方向上居中方法四:使用line-height属性 将div中的文字设置为和div一样的line-height值,并将vertical-align属性设置为middle,这样可以使图片在垂直方向上居中方法五:使用transform属性 将div设置为相对定位的父元素,然后通过将图片设置为绝对定位,并将top、left、bottom和right属性值设置为0,再将margin属性值设置为auto,这样可以使图片在垂直和水平方向上居中。 这些方法可以根据不同的需求选择使用,都能够实现div中的图片垂直居中的效果。 ### 回答3: html语言div图片垂直居中可以通过以下五种方法来实现图文详解图片的水平垂直居中方法一:使用flex布局 在div的样式中设置display:flex;align-items: center;justify-content: center;即可实现图片的垂直居中方法二:使用table布局 将div的display属性设置为table,然后在内部创建一个table-cell元素,设置vertical-align: middle;text-align: center;即可实现图片的垂直居中方法三:使用绝对定位 将div的定位设置为相对定位,然后在内部创建一个绝对定位的img元素,设置top: 50%;left: 50%;transform: translate(-50%, -50%);即可实现图片的居中对齐。 方法四:使用line-height属性 将div的高度与line-height属性保持一致,并设置line-height的值等于高度即可实现图片的垂直居中方法五:使用display:inline-block和vertical-align属性 将div的display属性设置为inline-block,然后为div和img元素都设置vertical-align: middle;即可实现图片的垂直居中。 以上五种方法都可以实现div图片的垂直居中,选择其中一种根据实际情况来使用即可。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值