移动端弹性布局--flex
目前,Flex布局,可以简便、完整、响应式地实现各种页面布局。而且,它已得到了所有浏览器的支持,这意味着,我们能很安全地使用这项功能。
如果你对弹性网页布局感兴趣,那可别错过flex这么好用的属性哦。
一、 初识flex
以前我给PC端网页进行布局时,我是基于盒子模型上,然后采用float浮动和position定位这2个主要属性,当时,我对flex布局并不了解。后来当我开始接触移动端项目时,我开始了解新的布局方式,这才知道flex弹性布局的存在。
我为什么会对flex布局有好感呢?
首先是因为以前的布局方式有点不够用了,需要有新的布局方式。刚开始切页面我最常用的是float浮动布局,那时,我简直是把float当做救星一般,只要我的页面视觉稍有问题,我就会使用float浮动,完全没有考虑到会影响网页的兼容性或者出现乱版。
需要注意的是,当标签使用了float属性后,就脱离了标准输出流,就不受页面约束了。这样不方便,也不利于页面布局。所以,一般浮动之后一定是要及时清除浮动的。
另一个就是position定位布局,这也是我经常会用到的布局方式之一,不过呢,在用之前一定要弄清楚父级与子级。
友情提示:千万不能乱用或者依赖上float浮动和position定位属性哦~其中的苦楚我能说几天几夜T_T......
二、熟悉flex(我的实践中...)
(1)好简单能实现‘比例性’排列(重点是自适应了)
利用flex属性,可以实现块级元素1:1:1


同理,若将item2里面的flex值改成2,则会出现下面的效果

(2)可以使里面的内容居中(尤其是垂直居中,好用到爆)

上面就是用了jsutify-content与align-item2个属性,对应是实现水平居中和垂直居中。
(3)横向排列、竖向排列(flex-direction:row/column)


三、flex就是有太多魅力,等你来发现
首先声明哟,flex的功能有很多很多的,而我上面写的几个属性只是我最近布局常用的,我也是认为好用才把这些写出来的。
如果想对flex弹性布局有更好的运用,就自己想办法吧......^.^......
移动端弹性布局--flex的更多相关文章
- 弹性布局flex
前几天写过怪异盒子布局,以前在项目中用到弹性布局flex这个属性,当时没深入研究,这里各种查阅各种测试,把这个属性记录下 以免忘记, 弹性布局:是提供一种更加有效的方式来对一个容器中的条目进行排列.对 ...
- 前端入门5-CSS弹性布局flex
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 声明 本系列文章内容全部梳理自以下四个来源: <HTML5权威指南> <JavaScript权威指南> MD ...
- 弹性布局Flex的基本语法
一.Flex的简介 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.用六个字概括弹性布局就是简单.方便.快速. flex( fle ...
- 微信小程序页面布局之弹性布局-Flex介绍
布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 2009年,W3C 提出了一种新 ...
- 弹性布局flex 介绍
摘自:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模 ...
- 弹性布局-flex
浅谈display:flex display:flex 意思是弹性布局 首先flex的出现是为了解决哪些问题呢? 一.页面行排列布局 像此图左右两个div一排显示 可以用浮动的布局方式 html部 ...
- 弹性布局--flex方向
flex方向 flex方向由flex-direction特性决定,用于定义弹性布局模式.flex-direction共有4种模式:从左向右.从右向左.从上往下.从下往上. 主轴 主轴的起点与终点定义了 ...
- 简单探讨弹性布局flex
css 弹性布局: 盒子模型: box-sizing属性1.content-box 正常的普通的盒子模型用padding和border会使盒子变大:(向外扩张)2.border-box 盒子模型,pa ...
- Flutter布局----弹性布局 (Flex)
弹性布局(Flex) 弹性布局允许子组件按照一定比例来分配父容器空间.弹性布局的概念在其它UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout等.Flutter中的 ...
随机推荐
- sum data
$('.group_header').each(function(){ ; $(this).nextUntil('tr.group_header').find('.num').each(functio ...
- “You couldn’t see my tears cause I am in the water.“ Fish said to water.“But I could feel your tears cause you are in my heart..“ Answered water.
“You couldn’t see my tears cause I am in the water.“ Fish said to water.“But I could feel your tears ...
- String split
这个方法看似简单,其实如果使用不当,会出现很多问题 System.out.println(":ab:cd:ef::".split(":").length);// ...
- spring定时器配置
在此记录两种定时任务的配置: 一种是quart定时器: <1>配置xml文件(定时任务配置) <!--定时任务 --> <bean id="txfwBomc&q ...
- EF之ExecuteSqlCommand更新出现无效的解决方案
本篇文章将会剖析为什么会出现这一现象.以及解决的办法 先来看一下代码 public static TResult AddTest() { TestDAL testdal = DALFactory.Cr ...
- 模板——Tarjan
#include <cstdio> #include <cstring> #include <iostream> #include <vector> u ...
- windows页面打印div(弹出新页面)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Ubuntu学习小结(一)
这段时间,抽空研究了一下Ubuntu,虽然也有过到目前为止使用计算机最作死的经历,但目前已经学会了一些最基本的操作.在这里简单的记录一下,算是吸取的教训,供其他人借鉴. 1.装Ubuntu系统.装Ub ...
- word域2
一.域应用基础 1.什么是域 简单地讲,域就是引导Word在文档中自动插入文字.图形.页码或其他信息的一组代码.每个域都有一个唯一的名字,它具有的功能与Excel中的函数非常相似.下面以Seq和Dat ...
- RabbitMQ 入门 Helloworld
1.介绍 RabbitMQ 是信息传输的中间者.本质上,他从生产者(producers)接收消息,转发这些消息给消费者(consumers).换句话说,他能够按根据你指定的规则进行消息转发.缓冲.和持 ...