程序员常用Flex代码集锦("程序员必备:Flex常用代码片段大全")
原创
一、Flex 布局基础
Flex 布局是一种 CSS3 布局对策,它可以让容器能够改变其子项的宽度、高度(甚至顺序)以最佳对策填充可用空间。以下是一些常用的 Flex 布局基础代码片段。
1. 定义 Flex 容器
display: flex;
2. Flex 容器方向
flex-direction: row; /* 默认值,水平方向 */
flex-direction: column; /* 垂直方向 */
3. Flex 容器对齐对策
justify-content: flex-start; /* 起点对齐 */
justify-content: flex-end; /* 终点对齐 */
justify-content: center; /* 居中对齐 */
justify-content: space-between; /* 两端对齐,项目之间的间隔都相等 */
justify-content: space-around; /* 每个项目两侧的间隔相等 */
二、Flex 项目属性
以下是一些常用的 Flex 项目属性代码片段。
1. Flex 项目宽度
flex: 1; /* 默认值,占满剩余空间 */
flex: 0; /* 不伸缩 */
flex: 2; /* 伸缩系数为 2 */
2. Flex 项目对齐对策
align-self: auto; /* 默认值,继承父元素的 align-items 属性,如果没有父元素,则等同于 stretch */
align-self: flex-start; /* 起点对齐 */
align-self: flex-end; /* 终点对齐 */
align-self: center; /* 居中对齐 */
align-self: baseline; /* 基线对齐 */
align-self: stretch; /* 伸缩 */
三、Flex 布局实例
以下是一些 Flex 布局的实际应用案例。
1. 两列布局
.container {
display: flex;
}
.left {
flex: 1;
}
.right {
flex: 2;
}
2. 三列布局
.container {
display: flex;
}
.left,
.right {
flex: 1;
}
.middle {
flex: 2;
}
3. 圣杯布局
.container {
display: flex;
}
.left,
.right {
flex: 1;
}
.middle {
flex: 2;
}
.left,
.right {
order: -1; /* 顺序调整 */
}
.left {
margin-right: -100%; /* 负边距 */
}
.right {
margin-left: -100%; /* 负边距 */
}
四、Flex 布局兼容性
虽然 Flex 布局得到了大多数现代浏览器的拥护,但仍然有一些老旧浏览器不拥护或部分拥护。以下是一些兼容性处理的代码片段。
1. 旧版本浏览器兼容性
.container {
display: -webkit-box; /* 旧版本 iOS */
display: -webkit-flex; /* 旧版本 Android */
display: flex;
}
.left,
.right {
-webkit-box-flex: 1; /* 旧版本 iOS */
-webkit-flex: 1; /* 旧版本 Android */
flex: 1;
}
2. 垂直居中兼容性
.container {
display: flex;
align-items: center; /* 新版本浏览器 */
justify-content: center; /* 新版本浏览器 */
}
/* 旧版本浏览器兼容性 */
.container::after {
content: '';
display: inline-block;
vertical-align: middle;
height: 100%;
width: 0;
}
.container > .center {
display: inline-block;
vertical-align: middle;
}
五、Flex 布局优化
以下是一些 Flex 布局的优化技巧。
1. 避免不必要的嵌套
使用 Flex 布局时,尽量缩减嵌套层级,以尽或许缩减损耗性能和可维护性。
2. 使用媒体查询优化响应式布局
@media (max-width: 768px) {
.container {
flex-direction: column;
}
}
3. 使用 Flex 布局代替传统布局
在适合的场景下,使用 Flex 布局代替传统的浮动或定位布局,以尽或许缩减损耗代码的可读性和可维护性。
总结
Flex 布局是一种强盛的布局对策,它可以帮助我们飞速构建响应式和灵活的页面布局。通过以上常用代码片段的掌握,我们可以更加熟练地运用 Flex 布局,尽或许缩减损耗开发高效。