【CSS】css flex 子元素居中

图片描述

明显黄色小标标没有在中间

<style>

.box1 {

display: flex;

width: 300px;

height:300px;

background: #dedede;

border-radius: 5px;

padding: 10px;

margin: 10px;

}

.item1 {

width: 50px;

height: 50px;

background: orange;

border-radius: 3px;

}

.item1:nth-child(2) {

align-self: center;

}

</style>

<div class="box1">

<span class="item1"></span>

<span class="item1"></span>

</div>

我怎么换方向 怎么调都没有真正的居中,怎么去布局它呢?

回答:

你可以先查下手册 align-self: center 是弹性盒子元素在该行的侧轴(纵轴)上居中放置。

水平居中的是justify-content:center

==================以下更新=========================

justify-content:center 是应用在容器上的,你想实现一个在开始位置,然后一个居中,那就自己实现,
比如默认容器上 justify-content:flex-start 然后

.item1:nth-child(2) {

margin-left: calc(50% - 75px); /* 75px 是第一个盒子的宽度加上自身宽度的一半 */

}

回答:

基本是从书和教程抄的,你看看哪个适合你。

1
图片描述

.flex-container {

padding: 0;

margin: 0;

list-style: none;

/* 定义流动方向,包装项目

*记住这是相同的:

* flex-direction:row;

* flex-wrap:wrap;

*/

display: -webkit-box;

display: -moz-box;

display: -ms-flexbox;

display: -webkit-flex;

display: flex;

/* 分配剩余空间 */

-webkit-flex-flow: row wrap;

justify-content: space-around;

}

.flex-item {

background: black;

padding: 2px;

width: 100px;

height: 100px;

margin-top: 10px;

}

2
2
HTML:

<div class="flex-container">

<div></div>

<div></div>

<div></div>

</div>

CSS:

* {

margin: 0;

padding: 0;

}

.flex-container {

width: 960px;

margin: 20px auto;

min-height: 300px;

font-weight: bold;

display: -webkit-flex;

display: flex;

-webkit-flex-flow: row nowrap;

flex-flow: row nowrap;

-webkit-justify-content: space-around;

justify-content: space-around;

-webkit-align-items: stretch;

align-items: stretch

}

.flex-container>div {

padding: 10px

}

.flex-container>div:nth-child(1) {

background-color: #e4f1e4;

-webkit-flex: 1;

flex: 1

}

.flex-container>div:nth-child(2) {

background-color: #d2d4eb;

-webkit-flex: 1;

flex: 1

}

.flex-container>div:nth-child(3) {

background-color: #f9e7e9;

-webkit-flex: 1;

flex: 1

}

回答:

我改了一下题主的代码、不知道题主是不是要这种效果

    <style>

.box1 {

display: flex;

width: 300px;

height:300px;

background: #dedede;

border-radius: 5px;

padding: 10px;

margin: 10px;

justify-content:center;

}

.item1 {

width: 50px;

height: 50px;

background: orange;

border-radius: 3px;

}

.item1{

align-self: center;

}

</style>

<div class="box1">

<span class="item1"></span>

</div>

以上是 【CSS】css flex 子元素居中 的全部内容, 来源链接: utcz.com/a/155438.html

回到顶部