flex布局

【display:flex】弹性布局,父元素设置display:flex后子元素的宽度太大撑大了父元素的宽度

微笑、不失礼 提交于 2019-12-02 11:50:44
最近做一个现货平台的项目,需要展示的数据超多,不是table就是chart,布局需要弹性自适应,所以使用了css3的flex布局方案。 先看下界面: 就上边界面来说,主要分左右两大部分,各部主体都是table,用的是ant-design的table插件。主要需求是页面布局要弹性,右边表格的中间部分(如果所示,其中的“1月可买卖”,“2月可买卖”,......“11月可买卖”,“12月可买卖”)是要能左右滚动的,这个好说,ant-design-table 组件有固定列的方法: 设置固定列的fixed属性和需要滚动区域的scroll.x 属性。 问题就在于: 当两个table的父元素设为 display:flex 后,如果设置的scroll.x的值大于父元素的宽度减去左边容器的宽度,则右边容器的宽度会被撑大。 【解决方法】 父元素设置display:flex;右边容器设置flex:1;width:0; (提示:上述解决方法适用于博主所述的场景,不能保证100%适用,如果有疑问,欢迎在下方留言交流) 以下代码可供参考: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>flex-弹性布局</title> <style> .content{ display : flex; } .left-table{

【vue】弹性布局和九宫格

放肆的年华 提交于 2019-12-02 11:49:26
实现的九宫格效果: 一、使用 .box{ display: -webkit-flex; /*在webkit内核的浏览器上使用要加前缀*/ display: flex; //将对象作为弹性伸缩盒显示 } 二、容器属性.box{...} flex-direction:row|column //默认,主轴水平方向,起点在左端,或者主轴垂直方向,默认在上沿 flex-wrap:nowrap|wrap //默认不换行,当然你也可以选择换行 justify-content:flex-start //主轴上的对齐方式,默认左对齐,当然还有flex-end,center等 align-item:stretch //单行交叉轴上的对齐方式,如果项目未设置高度或设为auto,轴线占满整个交叉轴,其他还有flex-start,flex-end,center等 align-content:stretch //多行交叉轴上的对齐方式,如果项目未设置高度或设为auto,将占满整个容器的高度,前提是有多行,即设置过flex-wrap,其他还有flex-start,flex-end,center等 flex-flow//不用记忆,相当于direction和wrap的默认简写 三、容器内项目属性.item{...} order:0 默认为0,可以是负值 , 数值越小,排列越靠前, flex-grow:0 默认值为0

flexbox布局兼容性写法

独自空忆成欢 提交于 2019-12-02 11:49:15
一、 flexbox布局(弹性布局) 1.指定flex布局 { display:flex; display: -webkit-flex; /* Safari */} 行内元素 { display:inline-flex} 注意:设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。 2.概念 水平主轴(main axis),垂直主轴(cross axis)。 3.容器属性 。flex-direction: 项目的排列方向(橫or竖) 。flex-wrap: 换不换行,默认一条线上 。flex-flow: 方向,换行 。justify-content: 主轴上对齐方式 。align-items: 交叉轴如何对齐 。align-content: 很多根轴线的对齐方式 。box-orient:指定一个box子元素方向 3.1 flex-direction —》row 水平,左端 —》row-reverse 水平,右端 —》column 垂直,上沿 —》column-reverse 垂直,下沿 3.2 flex-wrap —》nowrap 不换行 —》wrap 换行 —》wrap-reverse 换行,第一行在下方 3.3 flex-flow 是flex-direction和 flex-wrap简写,默认row nowrap 3.4 justify

flex学习笔记

本小妞迷上赌 提交于 2019-12-02 11:48:58
flex是弹性布局,使用flex布局需要注意浏览器兼容性问题,需要IE10以上的浏览器才支持这个属性。flex跟传统布局不一样,没有块级和内联的概念。flex由两部分组成,父容器flex container,子元素flex item。另外一个flex有主轴和侧重,里面元素的排列方式是基于主纵轴排列的。弹性布局下float不生效,相邻margin不重叠,column不起作用,clear属性没有效果,vertical-align没有效果。伪元素first-line和first-letter不使用。 使用flex布局先将display的属性设置为flex。flex父容器有flex-direction、flex-wray、justify-content、align-items这四个属性。 flex-direction是设置子元素排列方式他有四个属性,分别为row,row-revers,column,column-reverse。column是从上到下排列,column-revers是从下到上排列,row是从左到右排列,row-reverse是从右到左排列。direction没有配置默认为row。 flex-wrap这个这是否换换行,它有三个属性wrap、nowrap、和wrap-reverse。warp是换行,nowrap是不换行,wrap-reverse是换行

CSS flex样式垂直居中

拈花ヽ惹草 提交于 2019-12-02 11:48:43
文章目录 文章参考 问题描述 flex 个人理解 对子元素影响 作用自身的样式 作用于子控件 案例(水平垂直居中) 方法一(改变方向) 方法二(让flex的子元素水平垂直居中) 文章参考 Flex 布局教程:语法篇 问题描述 由于div默认是没有高度的,如果设置了高度,默认是从左到右,从上到下的顺序来排布; 如果要做垂直居中,就需要计算div控件的高度,如果内容变多或者变少,又会导致定位不准确,因此,最稳妥的办法就是让浏览器自己去根据div的高度居中显示 flex 个人理解 对子元素影响 设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。 作用自身的样式 flex-direction 属性决定主轴的方向(即项目的排列方向) flex-wrap属性定义,如果一条轴线排不下,如何换行。 flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。 justify-content属性定义了项目在主轴上的对齐方式。 align-items 属性定义项目在交叉轴上如何对齐。 align-content 属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。 作用于子控件 order 属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。 flex-grow

Flex布局中的Flex-Grow无效问题

半腔热情 提交于 2019-12-02 11:48:26
最近在写项目的时候用了一个新的css属性flex,这个属性之前测试过了,可以用,而且看了他的兼容性,直接上图(2017-08-07) 就这个兼容性,已经可以满足大部分的主流浏览器了,更何况我是微信开发,近似可以看做是android Browser的兼容性,那么就这么看,已经十分满足我的需求了 但是,问题来了我在使用flex-grow的属性时,发现这个属性十分怪异,按照一般的博客或是介绍上来看,简单地可以理解为是按照flex-grow的数值分配父元素剩余空间,但是究竟是怎么计算的,都没有十分明确的说明,找了半天终于在知乎上找到了,经过一番测试,发现确实如此,我把经过测试之后的结论精简地写出来,如果要看原文的话,点击下方的链接就可以直达啊: 测试代码: < div class = "a" > < div class = "b p" >B</ div > < div class = "c p" >C</ div > < div class = "d p" >D</ div > </ div > 基本样式代码: .a { display : flex ; background-color : wheat ; } .b { flex-grow : 2 ; } .c { flex-grow : 1 ; } .d { flex-grow : 4 ; } flex-grow重点说明落在 剩余

弹性盒子使用技巧

我怕爱的太早我们不能终老 提交于 2019-12-02 11:48:13
兼容性 :ie11+;Webkit 内核的浏览器,必须加上-webkit-前缀。 注 : 设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。 弹性盒子里面的子元素(div)都是iline-flex行内弹性布局 常用属性 : 1. flex-direction 属性指定了弹性子元素在父容器中的位置。 flex-direction: row | row-reverse | column | column-reverse 2.justify-content 属性把弹性项沿着弹性容器的主轴线(main axis)对齐。 justify-content: flex-start | flex-end | center | space-between | space-around 3. align-items 设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。 align-items: flex-start | flex-end | center | baseline | stretch 4.flex-wrap 属性用于指定弹性盒子的子元素换行方式。 flex-wrap:nowrap/wrap/wrap-reverse; 弹性子元素属性 : 排序:order 用整数值来定义排列顺序,数值小的排在前面。可以为负值。 放置剩余空间:margin

Flex布局基础语法

﹥>﹥吖頭↗ 提交于 2019-12-02 11:47:57
前言: 1.Flex布局支持所有浏览器。(ie10以上) 2.Webkit内核的浏览器,必须加上-webkit前缀。 3.设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。 容器的属性 主轴方向:flex-direction:row | row-reverse | column | column-reverse(决定主轴方向,即项目排列方向) 是否换行:flex-wrap:nowrap | wrap | wrap-reverse (不换行/换行第一行在上面/换行第一行在下面) 主轴和换行的简写:flex-flow:row||wrap 主轴对齐方式:justify-content: flex-start | flex-end | center | space-between | space-around flex-start(默认值):左对齐 flex-end:右对齐 center: 居中 space-between:两端对齐,项目之间的间隔都相等。 space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。 交叉轴对齐方式:align-items: flex-start | flex-end | center | baseline | stretch flex-start:交叉轴的起点对齐。 flex

flex-direction: column无效的情况

青春壹個敷衍的年華 提交于 2019-12-02 11:46:57
CSS3 设置如下: display: flex; flex-direction: column 意思是盒布局,并且该布局内部的子控件排列方式是纵向排列,即从上往下,但有一种情况属于例外,就是子控件的定位是这样的: position: absolute; 如果A子控件设置了以上属性,那么A不参与排列,BCD依次从顶上排列下来。 来源: CSDN 作者: qugengting 链接: https://blog.csdn.net/qugengting/article/details/83790977

从零开始学习前端开发 — 12、CSS3弹性布局

蓝咒 提交于 2019-12-02 11:21:53
一、分栏布局 1.设置栏数 column-count:数值; 2.设置每栏的宽度 column-width:数值 单位; 注:当设置了column-width,column-count会失效,二者设置其一即可 3.设置栏间距 column-gap:数值 单位; 4.设置栏间隔线 column-rule:5px solid|dashed|dotted black; 5.设置是否跨栏显示 column-span:all(跨栏)|none(不跨栏); 注:a)给需要跨栏显示的元素设置该属性 b) 该属性只有chrome浏览器支持 二、弹性布局 说明: (1) 当给元素设置了display:flex;后,该元素就成为了弹性盒 (2) 当父元素设置了display:flex;后,子元素的float,clear,vertical-align将会失效 (3) 我们将设置display:flex;属性的父元素称为flex容器,里面所有的子元素称为容器成员或flex项目 (4) 当设置了display:flex;后会随之产生两根轴线:主轴和交叉轴 Flex容器属性 1.设置主轴方向 语法: flex-direction: row|row-reverse|column|column-reverse; row 默认值,主轴在水平方向,起点在左端 row-reverse 主轴在水平方向,起点在右端