css不固定宽高居中

admin 轻心小站 关注 LV.19 运营
发表于前端技术学习版块 css,教程

CSS中居中对齐是网页布局的常见需求,但是不同的情况下实现方法也不尽相同。其中,不固定宽高居中是一种典型的情况,下面我们来看一下如何实现它。首先,我们需要明确一点:不固定宽高的元素是不能使用margi

CSS中居中对齐是网页布局的常见需求,但是不同的情况下实现方法也不尽相同。其中,不固定宽高居中是一种典型的情况,下面我们来看一下如何实现它。

首先,我们需要明确一点:不固定宽高的元素是不能使用margin: auto;来居中的。如果你这样写了,你会发现元素并没有居中,而是黏在了最左边。

/* 这种写法并不能实现不固定宽高元素居中 */
.box {
  margin: auto;
} 

那么,正确的居中方式应该是什么呢?

我们要用到 CSS3 的新特性:flexbox。

在父元素上设置display: flex;,就可以使所有子元素自动排成一行,然后再加上justify-content: center;align-items: center;这两条属性,就能让子元素居中了。

/* 不固定宽高元素居中写法 */
.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}

.child {
  /* 这里是子元素的样式,这里不做修改 */
} 

还有一种方法是用绝对定位position: absolute;,配合transform: translate(-50%, -50%);来实现居中。

/* 不固定宽高元素居中写法 */
.parent {
  position: relative;
}

.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
} 

这样,我们就学会了如何实现不固定宽高元素居中了。下次遇到这种情况,就可以轻松愉快地解决它啦。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: css不固定宽高居中

粉丝

0

关注

0

收藏

0

已有0次打赏