css垂直水平居中

/*html部分*/
<div class="container">
<div class="inner"></div>
</div>
1.利用绝对定位和负外边距居中,此种方法需要知道inner元素的宽高
.container{width:500px;height:500px;position:relative;}
.inner{width:100px;height:100px;position:absolute;top:50%;left:50%;margin-left:-50px;margin-top:-50px;}
2.利用绝对定位和transform:translate,此种方法不需要知道inner元素的宽高
.container{width:500px;height:500px;position:relative;}
.inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
3.利用绝对定位和margin:auto,此种情况需要知道子元素宽高,不然子元素会占满父元素。
.container{width:500px;height:500px;position:relative;}
.inner{width:100px;height:100px;position:absolute;top;0;left:0;right:0;bottom:0;margin:auto}
4.利用display:table-cell
.container{width:500px;height:500px;display:table-cell;vertical-align:middle;text-align:center}
5.利用display:flex
.container{width:500px;height:500px;display:flex;justify-content:center;align-items:center;}
6.利用display:flex;margin:auto
.container{width:500px;height:500px;display:flex}
.inner{margin:auto}

转载于:https://www.cnblogs.com/helloMySir/p/8413796.html

### 回答1: 使用 CSS 让元素垂直水平居中有多种方法。 使用 `position: absolute` 和 `transform: translate(-50%, -50%)`: ```css .parent { position: relative; } .child { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } ``` 使用 `display: flex` 和 `align-items: center` 和 `justify-content: center`: ```css .parent { display: flex; align-items: center; justify-content: center; } ``` 使用 `display: grid` 和 `place-items: center`: ```css .parent { display: grid; place-items: center; } ``` 使用 `display: table` 和 `margin: auto`: ```css .parent { display: table; } .child { display: table-cell; vertical-align: middle; text-align: center; margin: auto; } ``` 使用 `margin: auto`: ```css .parent { position: relative; } .child { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; } ``` ### 回答2: 在CSS中,我们可以使用不同的方法将一个元素居中,无论是垂直居中还是水平居中。 要实现垂直居中,我们可以使用定位和transform属性。我们可以将父元素的position属性设置为relative,然后将要居中的子元素的position属性设置为absolute,并将top和left属性都设为50%,然后再通过transform属性将其向上左移自身高度和宽度的一半,这样就能够实现垂直居中。 要实现水平居中,我们可以使用text-align属性。我们可以将父元素的text-align属性设置为center,然后将子元素的display属性设置为inline-block,这样子元素就能够在父元素的水平中心位置展示。 另外,我们也可以使用flex布局来实现垂直水平居中。我们可以将父元素的display属性设置为flex,并将其justify-content和align-items属性都设置为center,这样就能够将子元素垂直水平居中。 总的来说,实现CSS中的垂直水平居中主要有定位、transform、text-align和flex布局等方法,根据实际需求选择合适的方法来实现居中效果。 ### 回答3: 在CSS中,要实现垂直水平居中,有几种方法可以选择。 方法一:使用Flexbox布局(弹性盒模型)。 首先,给父元素添加display:flex;和justify-content:center;属性,可以使子元素在水平方向上居中。然后,给子元素添加align-items:center;属性,可以使子元素在垂直方向上居中。 方法二:使用position属性和transform属性。 首先,给父元素添加position:relative;属性,用来作为子元素定位的参考点。然后,给子元素添加position:absolute;和top:50%;left:50%;属性,将子元素的左上角定位到父元素的中心点。接下来,通过使用transform:translate(-50%,-50%);属性,将子元素向左上角移动自身宽高的50%,从而实现垂直水平居中。 方法三:使用display:table-cell属性和vertical-align属性。 首先,给父元素添加display:table-cell;和text-align:center;属性,可以使子元素在水平方向上居中。然后,给子元素添加display:inline-block;和vertical-align:middle;属性,可以使子元素在垂直方向上居中。 以上就是实现CSS垂直水平居中的几种常用方法,根据具体情况选择合适的方法来实现居中效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值