CSS弹性盒子学习笔记

发布时间:2024-10-18 12:06:14

CSS弹性盒子学习笔记


什么是Flexbox?



Flexbox (Flexible Box) 是CSS3引入的一种用于布局的模式。
提供了一种简便且强大的方式,用于在网页中进行一维布局。


Flexbox特点:



适用于一维布局(水平或垂直)。
由父容器(flex容器)和子元素(flex项目)组成。
自动适应不同屏幕尺寸,常用于响应式设计。




Flex容器


激活Flex容器



使用display: flex将一个元素设为Flex容器。
行内元素使用display: inline-flex。


.container {
    display: flex;
}


Flex容器的两根轴



主轴 (main axis):项目排列的主要方向。
交叉轴 (cross axis):垂直于主轴的方向。


常用属性



flex-direction (主轴方向)
row(默认,从左到右)
row-reverse(从右到左)
column(从上到下)

column-reverse(从下到上)


flex-wrap (是否换行)

nowrap(默认,不换行)
wrap(需要时换行)

wrap-reverse(反向换行)


justify-content (主轴对齐)

flex-start(起点对齐,默认)
flex-end(末尾对齐)
center(居中对齐)
space-between(两端对齐)

space-around(均匀分布,间隔一致)


align-items (交叉轴对齐)

stretch(默认,拉伸填满容器)
center(居中对齐)
flex-start(顶部对齐)
flex-end(底部对齐)

baseline(基线对齐)


align-content (多行交叉轴对齐)

stretch(默认,拉伸填满)
center(居中对齐)
flex-start(顶部对齐)
flex-end(底部对齐)
space-between(两端对齐)
space-around(间隔均匀)


示例代码:


.container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}




Flex项目 (Flex Items)


常用属性



order (项目顺序)

控制项目的排列顺序,数值越小越靠前。


flex-grow (放大比例)


控制元素在剩余空间中的放大比例。


flex-shrink (缩小比例)


控制元素在空间不足时的缩小比例。


flex-basis (初始大小)


定义项目在主轴方向上的初始尺寸。


align-self (单独设置对齐方式)

用于单独设置某个项目在交叉轴的对齐方式。


示例代码:


.item {
    flex: 1;
    order: 2;
    align-self: center;
}




Flexbox布局示例


单行居中布局


.container {
    display: flex;
    justify-content: center;
    align-items: center;
}


两列布局


.container {
    display: flex;
}
.left {
    flex: 1;
    background: lightblue;
}
.right {
    flex: 2;
    background: lightgreen;
}


三列等分布局


.container {
    display: flex;
    justify-content: space-between;
}
.col {
    flex: 1;
    padding: 10px;
    border: 1px solid black;
}




总结



掌握了Flexbox的基础概念,包括容器与项目的属性。
了解了如何使用Flexbox实现常见的网页布局,如居中布局、两列布局和三列布局。
掌握了flex-grow, flex-shrink和flex-basis的用法。


下一步学习: 深入CSS Grid布局,探索更高级的网页布局方法。