各种flex布局,拿来即用用过的都说好
开发过程中,很多布局,用antd的栅格还是不灵活,flex弹性布局会更好用
Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。


容器属性
- flex-direction 排列方向
- flex-wrap 排不下,如何换行
- flex-flow 1和2的简写
- justify-content 主轴对齐
- align-item 交叉轴对齐
- align-content 多轴线对齐
项目属性
- order 数值越小,越靠前
- flex-grow 项目放大
- flex-shrink 项目缩小
- flex-basis 定宽或定高(同事说他面试都会问一个问题,两列,一列定宽,但是不能用width定义,另一列自适应,怎么写,就用这个属性)
- flex 2/3/4的简写
- align-self 单个项目与其他项目不一样的排列方式,下次写代码可以试试这个

- 左边块 div 左右布局,姓名职位上下布局,定义line-height
- 右边用下面的样式 col_center_middle
- 代码在文章末尾
以下为拿来即用公用flex类
.display-none {
display: none !important;
}
.visibility-hidden {
visibility: hidden;
}
.flex-top {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-align-items: flex-start;
-ms-align-items: flex-start;
align-items: flex-start;
}
.center {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: center;
-ms-justify-content: center;
justify-content: center;
}
.col-middle {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-direction: column;
align-items: center;
}
.col-center-middle {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-direction: column;
-webkit-justify-content: center;
-ms-justify-content: center;
justify-content: center;
align-items: center;
}
.center-middle {
display: -webkit-flex;
display: -ms-flexbox;
display: flex !important;
-webkit-align-items: center;
-ms-align-items: center;
align-items: center;
-webkit-justify-content: center;
-ms-justify-content: center;
justify-content: center;
}
.space-between {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
}
.col-space-between {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
flex-direction: column;
}
.space-around {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: space-around;
-ms-justify-content: space-around;
justify-content: space-around;
}
.right {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: flex-end !important;
-ms-justify-content: flex-end !important;
justify-content: flex-end !important;
}
.flex-wrap {
flex-wrap: wrap;
display: flex;
}
.cursor-pointer {
cursor: pointer;
}
.common-shadow {
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.07);
}
.str-ellipsis{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.str-ellpsis_2, .str-ellpsis_3 {
display: -webkit-box;
-webkit-box-orient: vertical!important;
white-space: pre-wrap;
word-wrap: break-word;
overflow: hidden;
text-overflow: ellipsis;
}
.str-ellpsis-2 {
-webkit-line-clamp: 2; /*显示行数*/
}
.str-ellpsis-3 {
-webkit-line-clamp: 3; /*显示行数*/
}
.middle {
display: -webkit-flex;
display: -ms-flexbox;
display: flex!important;
-webkit-align-items: center;
-ms-align-items: center;
align-items: center;
}

代码如下:
<div class="avatar-wrapper">
<img :src="Avatar" class="user-avatar">
<div class="user">
<div class="name">姓名</div>
<div class="title" style="font-size:12px">职位</div>
</div>
</div>
.avatar-wrapper {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-align-items: flex-start;
-ms-align-items: flex-start;
align-items: flex-start;
margin-top: 12px;
position: relative;
.user-avatar {
cursor: pointer;
width: 35px;
height: 35px;
border-radius: 10px;
}
}
.user {
line-height: 40px;
height: 40px;
color: #fff;
padding-left: 6px;
.name {
font-size: 14px;
line-height: 20px;
height: 20px;
font-weight: 400;
color: rgba(255, 255, 255, 0.85);
}
.title {
font-size: 12px;
line-height: 17px;
height: 17px;
font-weight: 400;
color: rgba(255, 255, 255, 0.85);
}
}
阮一峰 Flex 布局教程:语法篇
http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool
各种flex布局,拿来即用用过的都说好的更多相关文章
- FreeMusic项目优化(一)——flex布局学习记录
参考博客:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html flex布局是w3c于09年提出的,用于简便,整洁,响应式地解决布局问题的手 ...
- es6 Object.assign ECMAScript 6 笔记(六) ECMAScript 6 笔记(一) react入门——慕课网笔记 jquery中动态新增的元素节点无法触发事件解决办法 响应式图像 弹窗细节 微信浏览器——返回操作 Float 的那些事 Flex布局 HTML5 data-* 自定义属性 参数传递的四种形式
es6 Object.assign 目录 一.基本用法 二.用途 1. 为对象添加属性 2. 为对象添加方法 3. 克隆对象 4. 合并多个对象 5. 为属性指定默认值 三.浏览器支持 ES6 O ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- Flex 布局教程:实例篇
该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...
- 在移动端中的flex布局
flex布局介绍: flex布局很灵活, 这种布局我们也可以称之为弹性布局, 弹性布局的主要优势就是元素的宽或者高会自动补全; flex布局实例: 比如有两个div,一个div的宽度为100px, ...
- css flex布局
关于flex布局的一些简单用法 效果(下图) 实现代码: <!--html--> <div class="wrap"> <div class=&quo ...
- FLEX布局的一些问题和解决方法
前言 露珠最近研究了一下flex的布局方式,发现项w3c推出的这套布局解决方案对于日益复杂的前端开发布局来说是确实是一利器,并且在不同的屏幕上实现了真正的响应式布局:不再单纯地依赖百分比和float的 ...
- CSS之flex布局
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- flex布局示例
来自:授权地址 作者:水牛01248 几个横排元素在竖直方向上居中 display: flex; flex-direction: row;//横向排列 align-items: center;//垂直 ...
- 【转】Flex 布局语法教程
网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...
随机推荐
- hexo博客生成报错YAMLException: can not read a block mapping entry
报错信息: YAMLException: can not read a block mapping entry; a multiline key may not b --- title: [转]--I ...
- 反汇编分析C语言
环境 VC6.0环境 空函数反汇编 #include "stdafx.h" void function(){ } int main(int argc, char* argv[]) ...
- 2023-7-26 Dynamic替代部分反射的简单实现方式
Dynamic与反射的使用 [作者]长生 实体类 public class School{ public int GetAge(){ return 100; } } 使用反射获取对象里的方法 Scho ...
- 黑马2023最新版Java学习路线和资料地址
地址:https://pan.baidu.com/s/1LxIxcHDO7SYB96SE-GZfuQ 提取码:dor4
- 如何用windows任务视图管理多个程序,提高.net开发效率
在 Windows 操作系统中,任务栏是一个非常重要的工具栏,用来显示当前正在运行的程序和任务.如果同时运行了很多程序,任务栏上的图标就会变得非常拥挤,不方便管理和切换.为了提高工作效率,可以通过任务 ...
- [oracle]使用impdp导入数据时卡在视图
前言 oracle 19c使用impdp的时候卡在导入视图的地方一点不动,也没啥提示.根据网上资料,oracle 19在导入视图的时候会有bug. 步骤 查看导入任务 sqlplus / as sys ...
- 基于卷积神经网络的MAE自监督方法
本文分享自华为云社区<基于卷积神经网络的MAE自监督方法>,作者: Hint . 图像自监督预训练算法是近年来的重要研究方向,MAE是其中基于ViT实现的代表性方法,学习到了鲁棒的视觉特征 ...
- vue中使用Tinymce
1.安装tinymce编辑器 npm i tinymcenpm i @tinymce/tinymce-vue 或: yarn add tinymce yarn add @tinymce/tinymce ...
- 【Ubuntu】Ubuntu 配置记录
目录 系统文件夹改回英文 Ubuntu 镜像 pypi 镜像 临时使用 设为默认 Doxygen + Graphviz 分析代码并画图 Graphviz 安装 Doxygen 安装 配置 运行 系统文 ...
- 《Kali渗透基础》15. WEB 渗透
@ 目录 1:WEB 技术 1.1:WEB 攻击面 1.2:HTTP 协议基础 1.3:AJAX 1.4:WEB Service 2:扫描工具 2.1:HTTrack 2.2:Nikto 2.3:Sk ...