博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS实例详解:Flex布局
阅读量:6693 次
发布时间:2019-06-25

本文共 2131 字,大约阅读时间需要 7 分钟。

本文由云+社区发表

本文将通过三个简单的实例,实际应用上篇文章的基础理论知识,展示下Flex布局是如何解决CSS布局问题。

一.垂直居中

这里同时用非flex布局和flex布局两种方式来实现,可以对比两种实现方式的差异。

1.1用margin实现垂直居中

实现方式:

父元素采用相对定位,子元素采用绝对定位,先将元素的定点定位到父元素的中心,再使用margin负值法,即子元素自身宽度、高度的一半,将其拉回到父元素的中心。

实现效果:

img

附上完整代码:

    
垂直居中--normal

1.2用flex实现垂直居中

实现方式:

父元素启用flex布局(display:flex),同时设置主轴上居中对齐(justify-)、交叉轴上居中对齐(align-items:center)。子元素不需要额外设置样式。

实现效果:同上

附上完整代码:

    
垂直居中--flex

二.圣杯布局

2.1 普通方式实现圣杯布局

在我之前的文章中详细介绍过如何实现一个圣杯布局:

(1)中间的三栏布局,这里采用margin负值法:两边两栏宽度固定,中间栏宽度自适应,左栏、右栏、中间栏向左浮动,左栏的margin-left设为-100%,中间栏的width设为100%,右栏的margin-left设为-右栏宽度。

(2)给container设置padding-left和padding-right属性,值分别为左栏、右栏的宽度;

(3)将左右两栏设置为相对定位,同时左栏的left值设为-左栏宽度,右栏的right设为-右栏宽度。

实现效果:

img

实现代码:

    
圣杯布局
头部
中间栏:内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
左栏
右栏
底部

2.2用flex实现圣杯布局

实现方式:

(1)holyGrail启用flex布局,设置holyGrail中的header、container、footer在交叉轴上竖向排列(flex-direction:column;)

(2)container中的三栏布局:container启用flex布局,设置container中的middle、left、right在主轴上横向排列(flex-direction:row,默认值可以不设)。由于html中先写的middle,所以为了让left在最左边,要设置left的order为这三栏中最小的,即-1(其他两栏order为默认值0)

可以看出Flex布局的实现方式更加简单,也更加直观。

实现效果:同上

实现代码:

    
圣杯布局--flex
头部
中间栏:内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
左栏
右栏
底部

三.固定栏-可扩展栏页面布局

实现效果:

img

实现代码:

    
flex
固定栏:内容内容内容内容内容内容内容内容内容内容
可扩展栏:内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容

四.小结

本文主要提供了三个实例,来实际应用下flex的属性。通过对比其他的实现方式,可以看出使用Flex布局可以优雅地实现相同的CSS布局问题。如有问题,欢迎指正。

此文已由作者授权腾讯云+社区发布

搜索关注公众号「云加社区」,第一时间获取技术干货,关注后回复1024 送你一份技术课程大礼包!

转载地址:http://gncoo.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
svn 实践
查看>>
在 PowerShell 中使用 SQL Server (3)
查看>>
CSS元素定位
查看>>
质量时代——“Jolt大奖精选丛书”有奖征文
查看>>
DNS服务器维护命令
查看>>
六、用户与权限
查看>>
面向机器学习数据平台的设计与搭建
查看>>
centos6.7 编译安装mysql-5.6.27
查看>>
spring cloud 整合zpkin问题
查看>>
Maven下载慢的解决方案
查看>>
我的友情链接
查看>>
Android 核心分析 之七------Service深入分析
查看>>
Regsvr32使用方法
查看>>
柱形图Demo
查看>>
编辑器
查看>>
关闭windows的默认共享
查看>>
react开发环境搭建
查看>>
数据库读写分离
查看>>
社交是微信营销
查看>>