博主信息
博文 13
粉丝 0
评论 0
访问量 12786
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
flex布局
上善若水的博客
原创
1219人浏览过

Flex 是 Flexible Box的缩写, 意思是"弹性布局", 用来为盒状模型提供最大的布局灵活性。

任何一个容器都可以设置为Flex布局模式。

/* 块元素可以设置为Flex容器 */
.container {
  display: flex;
}

/*内联元素也可以设置为Flex*/
span {
  display: inline-flex;
}

/* WebKit内核浏览器,如Safari, 需要加前缀*/
div {
  display: -webkit-flex;	/*Safari*/
  display: lfex;
}

一旦设置为Flex容器, 则容器内子元素的float, clear, vertical-align属性全部失去意义, 没有效果了。

Tips: 布局演变史

1. 表格布局table

世界第一个网页诞生于1990年12月20日, 依赖HTML中的<table>标签来实现

页面随着内容的不断增加, 会变更越来越臃肿, 难以维护

2. 定位布局positon

随着页面复杂度的不断提升, 更多的属性被添加到HTML, CSS中

其中, CSS中的position属性具有革命性

使页面中的元素可以摆脱表格单元格的束缚,可以定位到窗口中的任何位置

3. 浮动布局float

浮动float技术的初衷并不是为了布局, 而是用来处理文本与图片的排版问题

因为任何元素一旦浮动就会变成块元素,从而可以设置宽高, 非常适合页面布局

所以, 网页设计师就使用float再配合<div>,<span>,几乎可以完全任何页面布局

但是元素浮动后, 为了防止对它后面的同级元素产生影响, 就必须清除浮动clear

另外, 当元素之间具有层级关系时, 子元素的浮动会导致父元素失去高度

当然浮动千万的问题远不止以上几点,所以,业界一直在寻求一种真正布局技术

4. 弹性布局flex

我们知道,浮动布局很容易实现元素水平居中, 但是垂直居中就非常的困难,实现起来很麻烦

用浮动技术来进行网页布局,是一种"无心插柳柳成萌"的结果, 算是一种巧合吧

使用Flex弹性布局, 就是针对浮动布局的所有痛点而生, 元素浮动的后遗症全部解决

所以在Flex容器中, 不能,也没必要更使用float属性,没了浮动当然也不再需要clear

Flex有自己的元素垂直对齐解决方案, 所以vertical-align属性也失效

5. 网格布局grid

不得不说, 世间万物就是一个轮回, 曾经那么令人不堪的表格布局,居然回归了

表格布局尽管有那么多的缺点,但是它的优势也非常明显,就是简单, 直观

其实就这一条, 就足以征服所以设计师,简单直观难道不是我们一直追求的目标吗?

如果有一种布局方式, 即有表格的简单直观, 又有弹性盒子的友好体贴, 那该有多好?

这个愿意现在终于实现了, 网格布局(Grid)横空出世

网格布局集美貌与智慧于一身, 同时具备了表格布局与弹性布局的所有优点

这么好的东西, 可惜很多浏览器支持情况不乐观, 移动端支持好一些

但相信, 会有越来越多的浏览器加入到网格布局的行列中, 大家现在学习正当时

Tips: 布局演变史: 表格(table) ==> 定位(position) ==> 浮动(float) ==> 弹性(flex) ==> 网格(grid, 发展中...)


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学