flex布局

flex布局时的居中问题

走远了吗. 提交于 2019-12-04 05:43:31
flex布局时的居中问题 flex-direction: column,元素竖行显示,主轴的位置会变换,横轴竖轴互换,设置水平居中需要行排列时的垂直居中 align-items: center;会使元素水平居中,justify-content: center;则会使元素垂直居中 设置容器内部元素的排列方向 row: 定义排列方向 从左到右 row-reverse: 从右到左 column: 从上到下 column-reverse: 从下到上 来源: https://www.cnblogs.com/wo1ow1ow1/p/11833755.html

运用css属性flex将angular meterial toolbar内按钮推向最右端

狂风中的少年 提交于 2019-12-04 04:36:13
弹性盒子(Flex Box)是css3一种新的布局模式。 弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成。弹性容器通过设置display属性为flex或inline-flex将其定义为弹性容器。 弹性容器内包含了一个或多个弹性子元素。 flex属性设置在弹性子元素上,是flex-grow, flex-shrink, flex-basis三个属性的缩写,默认值为 0 1 auto。 flex-grow属性定义子元素的放大比例,默认为0,表示如果存在剩余空间,也不放大。 如果所有子元素的flex-grow属性都为1,则他们将等分剩余空间(如果有的话)。 如果一个子元素的flex-grow属性为2,其他子元素都为1,则前者占据的剩余空间将比其他项多一倍。 flex-shrink属性定义子元素的缩小比例,默认为1,表示如果空间不足,该子元素将缩小。 如果所有子元素的flex-shrink属性都为1,当空间不足时,都将等比例缩小。 如果一个子元素的flex-shrink属性为0,其他子元素都为1,则空间不足时,前者不缩小。 flex-basis属性定义了在分配多余空间之前,子元素占据的主要空间(main size)。 Toolbar是一个弹性容器,可以加入一个分割用的子元素,把子元素后的内容都推到另外一边去。 <span class="toolbar

前端进阶系列(二):css常见布局解决方案

天大地大妈咪最大 提交于 2019-12-04 04:34:38
水平居中布局 margin+定宽 <div class="parent"> <div class="child">Demo</div> </div> <style> .child { width: 100px; margin: 0 auto; } </style> 想必是个前端都见过,这定宽的水平居中,我们还可以用下面这种来实现不定宽 table+margin <div class="parent"> <div class="child">Demo</div> </div> <style> .child { display: table; margin: 0 auto; } </style> display:table 在表现上类似 block 元素,但是宽度为内容宽。 无需设置父元素样式 (支持 IE 8 及其以上版本)兼容 IE 8 一下版本需要调整为 <table> inline-block+text-align <div class="parent"> <div class="child">Demo</div> </div> <style> .child { display: inline-block; } .parent { text-align: center; } </style> 兼容性佳(甚至可以兼容IE6和IE7) absolute+margin-left

flex几种多列布局

◇◆丶佛笑我妖孽 提交于 2019-12-04 03:45:46
基本的等分三列布局 .container{ display: flex; width: 500px; height: 200px; } .left{ flex:1; background: red; } .middle{ flex:1; background: green; } .right{ flex:1; background: blue; } <div class="container"> <div class="left"></div> <div class="middle"></div> <div class="right"></div> </div> 三列 左中定宽 右侧自适应 .container{ display: flex; height: 300px; } .left{ flex: 0 0 100px; background-color: red; } .middle{ flex: 0 0 100px; background-color: green; } .right{ flex:1; background-color: blue; } <div class="container"> <div class="left">qqq</div> <div class="middle">qqq</div> <div class="right">wwww</div> <

对于flex布局的使用心得

被刻印的时光 ゝ 提交于 2019-12-04 02:23:39
弹性盒子flex: 对于客户端的布局非常有用,不管是平均分配space-around这个属性还是两端对齐space-betwee在页面布局的时候都会有很好的表现。 对于部分内容区域中,具有很多大致内容相同的几个区块的布局都可以使用到它,将父级设置为display:flex;父级就会变成容器,子级就会变成项目,项目默认是在一行显示,如果项目的宽度总和大于父级的总和了,子级就会缩放在一行显示。 因此换行是需要自己设置的。我平时划分的区块是比较细的,因此用到换行的情况是内容相似而且比较多的。 换行的书写方式为:flex-wrap:wrap 默认值为nowrap。 当换行过后交叉轴就会变成多根,在一根交叉轴的对齐方式使用的是align-items,当使用了换行过后对应的交叉轴对齐方式属性应当书写为align-content。 在使用中遇到一个难以解决的问题,想做一个骰子五的样式,但是中间那个区块没法下去,代码如下: html中代码如下: <div class="father"> <div class="first"></div> <div class="second"></div> <div class="third"></div> <div class="fourth"></div> <div class="fifth"></div> </div> css中代码如下: .father {

css,对包含有子元素的元素进行flex后,会影响原有的布局。如何后续处理

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-04 00:43:51
对包含有子元素的元素进行flex后,会影响原有的布局。 例如设置两个div,第一个div包含一个img(图片),第二个div包含多个p元素(对前面的img的说明)。如下图 1:当对着两个两个div进行flex布局后。虽然两个div会同时处在一行内。但第二个div内部多个p元素的排序会被打乱,因为p元素的父元素div被应用了display:flex;后,已经改变了其主轴方向,所有的p元素都会横向排列,而不是原来的纵向排列 2:为了让两个div再同一行内,同时第二个div内部的多个p元素仍按照原有的块元素排序,需要对第二个div。需对第二个div作如下处理。 display:flex; flex-direction:column; 则会重新改变第二个div的主轴方向。从而得到我们想要的结果。 结果如下: 来源: https://www.cnblogs.com/yt0817/p/11825734.html

微信小程序 bug 集中营

我的未来我决定 提交于 2019-12-03 22:46:55
Create by jsliang on 2018-9-17 17:58:56 Recently revised in 2018-11-19 08:19:13   Hello 小伙伴们,如果觉得本文还不错,记得给个 star , 你们的 star 是我学习的动力! GitHub 地址 写在前面  首个微信小程序实践记录:  工作量: PSD 18 张 (导出的 JPG 30 张)  耗时:12 个工作日  总结1: 在页面制作商,需要 3 周工作日(工作 15 天)搞定,前后端对接口另计。实际上,12 个工作日可以搞定所有页面,但是应该往前铺 1.5D 熟悉框架,往后铺 1.5D 整理代码。当然每个人的耗时可能不同,可根据个人实际情况进行调整。  总结2:在 API 调用上,根据接口数量可能需要 7-12 个工作日进行 API 调用,难点表现在: 1. 接口不够丰富,数据量不足; 2. 接口数据不够正式真实,跟前面的假数据相差太大; 3. 接口可能没法正常调用 等原因。故因根据小程序业务逻辑进行工作时长的报备。   这里有 jsliang 微信小程序开发中遇到的所有坑,以及在填坑过程中的一些个人经验。jsliang 利用这篇教程存储一些常用的微信小程序开发技巧,方便查找。它可能教不了你什么,但至少能省下你百度的功夫。   请结合 《目录》 和 《返回目录》 来进行跳转

Flex

自闭症网瘾萝莉.ら 提交于 2019-12-03 20:17:11
Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。 1. 父元素属性 1. display:flex; 一个容器设置了display:flex;属性就定义了一个flex容器,它的直接子元素会接受这个flex环境 2. flex-direction 决定主轴的方向(即项目的排列方向) .box { flex-direction: row | row-reverse | column | column-reverse; } 可以设置四个值: row: 默认值,水平从左到右 colunm: 垂直从上到下 row-reverse: 水平从右到左 column-reverse: 垂直从下到上 3. flex-wrap 默认情况下,项目都排在一条线(又称"轴线")上。flex-wrap属性定义,如果一条轴线排不下,如何换行。 .box{ flex-wrap: nowrap | wrap | wrap-reverse; } 可以设置三个值: nowrap: 默认值,不换行 wrap: 换行 wrap-reverse: 换行,且颠倒行顺序,第一行在下方 4.

[续更]一起来撸一下Flex布局里面的那些属性

与世无争的帅哥 提交于 2019-12-03 11:37:24
Flex的全称是Flexible Box,意为弹性布局,用来为盒模型提供最大的灵活性。 Flex包含的属性有很多,每个属性又包含了许多不同意义的属性值···然而在实际开发中,能被我们临幸的可能也只是那么几个: { display: flex; justify-content: center|flex-start...; align-items: center|flex-start...; flex-grow: auto...; } 上面是一本正经的分割线! 一、Flex简介 任何一个容器都可以通过设置 display 为 flex/inline-flex 将其指定为Flex布局。对于设置了Flex布局的容器,子元素的 float、clear、vertical-align 属性将失效;但是,如果对这些子元素设置 position 定位,那么Flex属性的作用会失效,一张图说明他们的作用权重: 采用Flex属性布局的元素称为 Flex容器 ,而其所有的子元素称为 Flex项目 。容器默认存在两根轴线:水平的 主轴(main axis) 和垂直的 交叉轴(cross axis) 。轴的起始和结束为止分别称作main/cross start和main/cross end。项目默认沿主轴排列,项目占据的轴的空间叫main/cross size。详见下图:

css flex弹性布局学习总结

北城余情 提交于 2019-12-03 11:25:27
一、简要介绍   flex( flexible box:弹性布局盒模型),是2009年w3c提出的一种可以简洁、快速弹性布局的属性。    主要思想是给予容器控制内部元素高度和宽度的能力 。目前已得到以下浏览器支持:      其中在webkit内核的浏览器中使用时,必须加上 -webkit- 前缀   采用Flex布局的元素,称为Flex容器(flex container),简称”容器”。   它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称”项目”。   下图为flex的相关概念的示意图         使用flex布局的容器(flex container),它内部的元素自动成为flex项目(flex item)。   容器拥有两根隐形的轴,水平的主轴(main axis),和竖直的交叉轴。   主轴开始的位置,即主轴与右边框的交点,称为main start;主轴结束的位置称为main end;   交叉轴开始的位置称为cross start;交叉轴结束的位置称为cross end。   item按主轴或交叉轴排列,item在主轴方向上占据的宽度称为main size,在交叉轴方向上占据的宽度称为cross size。   此外,需注意使用flex容器内元素,即flex item的float,clear、vertical-align属性将失效。 二