当前位置: 首页 > 编程日记 > 正文

Flex 布局:语法篇

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

布局的传统解决方案,基于盒状模型,依赖 display 属性 + position 属性 + float 属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
2009年,W3C 提出了一种新的方案 ---- Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
Flex 布局将成为未来布局的首选方案。
以下内容主要参考了下面两篇文章:A Complete Guide to Flexbox 和 A Visual Guide to CSS3 Flexbox Properties.
一、Flex布局是什么?
Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
任何一个容器都可以指定为 Flex 布局。
1 .box {
2     display: flex; 
3 }
行内元素也可以使用 Flex 布局。
1 .box {
2     display: inline-flex; 
3 }
Webkit 内核的浏览器,必须加上 -webkit 前缀。
1 .box {
2     display: -webkit-flex; /* Safari */
3     display: flex; 
4 }
注意,设为 Flex 布局以后,子元素的 float、clear 和 vertical-align 属性将失效。

<a href="www.changtu.com/chepiao/baodingshi-zhangjiakoushi.html" class="lightblue">保定到张家口的汽车</a>
二、基本概念
采用Flex布局的元素,称为Flex容器(flex container),简称"容器".它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目".
容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做 main start,结束位置叫做 main end;交叉轴的开始位置叫做 cross start,结束位置叫做 cross end.
项目默认沿主轴排列。单个项目占据的主轴空间叫做 main size,占据的交叉轴空间叫做 cross size.

转载于:https://my.oschina.net/u/3042303/blog/849136

相关文章:

特征运动点估计

cv::Mat getRansacMat(const std::vector<cv::DMatch>& matches, const std::vector<cv::KeyPoint>& keypoints1, const std::vector<cv::KeyPoint>& keypoints2, std::vector<cv::DMatch>& outMatches) {// 转换特征点格式std::vecto…

Vue+Element-ui+二级联动封装组件

通过父子组件传值 父组件&#xff1a; 1 <template>2 <linkage :citysList"citysList" :holder"holder" saveId"saveId"></linkage>3 </template>4 <script>5 import linkage from ./common/linkage6 export de…

MOG2 成员函数参数设定

pMOG2->setDetectShadows(true); // 背景模型影响帧数 默认为500 pMOG2->setHistory(1000); // 模型匹配阈值 pMOG2->setVarThreshold(50); // 阴影阈值 pMOG2->setShadowThreshold(0.7);前景中模型参数&#xff0c;设置为0表示背景&#xff0c;255为前景&#xff…

webpack 大法好 ---- 基础概念与配置(1)

再一次见面&#xff01; Light 还是太太太懒了&#xff0c;距离上一篇没啥营养的文章已经过去好多天。今天为大家介绍介绍 webpack 最基本的概念&#xff0c;以及简单的配置&#xff0c;让你能快速得搭建一个可用的 webpack 开发环境。 webpack的安装 webpack 运行于 node 环境…

Zookeeper迁移(扩容/缩容)

zookeeper选举原理在迁移前有必要了解zookeeper的选举原理&#xff0c;以便更科学的迁移。快速选举FastLeaderElectionzookeeper默认使用快速选举&#xff0c;在此重点了解快速选举&#xff1a;向集群中的其他zookeeper建立连接&#xff0c;并且只有myid比对方大的连接才会被接…

SVO Without ROS环境搭建

Installation: Plain CMake (No ROS) 首先&#xff0c;建立工作目录&#xff1a;workspace&#xff0c;然后把下面的需要的都在该目录下进行. mkdir workspace cd workspace Boost - c Librairies (thread and system are needed) sudo apt-get install libboost-all-dev Eige…

BackgroundSubtractorGMG 背景建模

#include <opencv2/bgsegm.hpp> #include <opencv2/video.hpp> #include <opencv2/opencv.hpp> #include <iostream> #include <sstream> using namespace cv; using namespace std; using namespace bgsegm; // GMG目标建模检测 void detectBac…

启动webpack-dev-server只能本机访问的解决办法

修改package.json的dev启动设置&#xff0c;增加--host 0.0.0.0启动后localhost更换为本机IP即可访问

TCP/IP:IP选项处理

引言 IP输入函数要对IP 进行选项处理&#xff0c;。RFC791和1122规定了IP选项和处理规则。一个IP首部可以跟40个字节的选项。 选项格式 选项的格式&#xff0c;分为两种类型&#xff0c;单字节和多字节。 ip_dooptions函数 这个函数用于判断分组转发。用常量位移访问IP选项字段…

【SVO2.0 安装编译】Ubuntu 20.04 + Noetic

ways one 链接: https://pan.baidu.com/s/1ZAkeD64wjFsDHfpCm1CB1w 提取码: kxx2 (downloads and use idirectly) ways two: [SVO2-OPEN: https://github.com/uzh-rpg/rpg_svo_pro_open](https://github.com/DEARsunshine/rpg_svo_pro_open)git挂梯子 如果各位终端无法挂梯…

人眼目标检测初始化

// 初始化摄像头读取视频流cv::VideoCapture cap(0);// 宽高设置为320*256cap.set(CV_CAP_PROP_FRAME_WIDTH, 320);cap.set(CV_CAP_PROP_FRAME_HEIGHT, 256);// 读取级联分类器// 文件存放在opencv\sources\data\haarcascades bool flagGlasses false;if(flagGlasses){face_ca…

Qt之界面换肤

简述 常用的软件基本都有换肤功能&#xff0c;例如&#xff1a;QQ、360、迅雷等。换肤其实很简单&#xff0c;并没有想象中那么难&#xff0c;利用前面分享过的QSS系列文章&#xff0c;沃我们完全可以实现各种样式的定制&#xff01; 简述实现原理效果新建QSS文件编写QSS代码加…

mongDB的常用操作总结

目录 常用查询:查询一条数据查询子元素集合:image.idgte: 大于等于,lte小于等于...查询字段不存在的数据not查询数量:常用更新更新第一条数据的一个字段:更新一条数据的多个字段:常用删除删除:常用查询: 查询一条数据 精确匹配is Query(Criteria.where("id").is(id))…

【GTSAM】GTSAM学习

1 what GTSAM ? GTSAM 是一个在机器人领域和计算机视觉领域用于平滑&#xff08;smoothing&#xff09;和建图&#xff08;mapping&#xff09;的C库。它与g2o不同的是&#xff0c;g2o采用稀疏矩阵的方式求解一个非线性优化问题&#xff0c;而GTSAM是采用因子图&#xff08;f…

人脸、人眼检测与跟踪

#include <opencv2/opencv.hpp> #include <iostream> #include <vector> using namespace cv;CascadeClassifier face_cascade; CascadeClassifier eye_cascade;// 人眼检测 int detectEye(cv::Mat& im, cv::Mat& tpl, cv::Rect& rect) {std::v…

linux下jdk简单配置记录

记录哈&#xff0c;搭建环境的时候&#xff0c;copy使用方便。 vim /etc/profile export JAVA_HOME/usr/java/jdk1.7.0_79export PATH$JAVA_HOME/bin:$PATHexport CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JRE_HOME$JAVA_HOME/jreexport LANGzh_CN.UT…

Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案

关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案 转载于:https://www.cnblogs.com/daemonFlY/p/10916812.html

so库方法原理

动态库 So库&#xff0c;又动态名库&#xff0c;是Linux下最常见的文件之一&#xff0c;是一种ELF文件。这种so库是程序运行时&#xff0c;才会将这些需要的代码拷贝到对应的内存中。但程序运行时&#xff0c;这些地址早已经确定&#xff0c;那程序引用so库中的这些代码地址如…

上传图片,多图上传,预览功能,js原生无依赖

最近很好奇前端的文件上传功能&#xff0c;因为公司要求做一个支持图片预览的图片上传插件&#xff0c;所以自己搜了很多相关的插件&#xff0c;虽然功能很多&#xff0c;但有些地方不能根据公司的想法去修改&#xff0c;而且需要依赖jQuery或Bootstrap库&#xff0c;所以我就想…

springboot 简单自定义starter - beetl

使用idea新建springboot项目beetl-spring-boot-starter 首先添加pom依赖 packaging要设置为jar不能设置为pom<packaging>jar</packaging> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web&…

cmake生成so包并调用(C++project,build,cmake)

1. 目录结构 2 . downloads 2.1 build module process CMakeLists.txt > cmake_minimum_required(VERSION 3.5)if(CMAKE_COMPILER_IS_GNUCC)message("COMPILER IS GNUCC")ADD_DEFINITIONS ( -stdc11 ) endif(CMAKE_COMPILER_IS_GNUCC)SET(CMAKE_CXX_FLAGS_DEBU…

人眼模板匹配自动跟踪

void trackEye(cv::Mat& im, cv::Mat& tpl, cv::Rect& rect) {// 人眼位置cv::Size pSize(rect.width * 2, rect.height * 2);// 矩形区域cv::Rect tRect(rect pSize - cv::Point(pSize.width/2, pSize.height/2));tRect & cv::Rect(0, 0, im.cols, im.rows);…

前端碎碎念 之 nextTick, setTimeout 以及 setImmediate 三者的执行顺序

『前端碎碎念』系列会记录我平时看书或者看文章遇到的问题&#xff0c;一般都是比较基础但是容易遗忘的知识点&#xff0c;你也可能会在面试中碰到。 我会查阅一些资料并可能加上自己的理解&#xff0c;来记录这些问题。更多文章请前往我的个人博客这个问题是有关执行顺序和Eve…

bat 将war文件转换成ear文件

1、无需拷贝war文件&#xff0c;自动获取war set path%path%;D:\jdk\jdk1.6.0_31\bin;C:\Program Files\7-Zip del **0001-controller.war del **0001-controllerEAR.ear copy ..\target\**0001-controller-0.0.1-SNAPSHOT.war **0001-controller.war rem 7z d -tzip **0001-co…

cmake语法【一】

一、Cmake 简介 cmake 是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制。 二、常用命令 指定 cmake 的最小版本 cmake_minimum_required(VERSION 3.4.1)这行命令是可选的&#xff…

RHEL6.3安装vsftpd

1、下载vsftpd&#xff0c;可以从官网&#xff08;http://vsftpd.beasts.org&#xff09;下载&#xff0c;也可以百度搜索[rootlocalhost vsftpd]# wget http://down1.chinaunix.net/distfiles/vsftpd-3.0.2.tar.gz2、解压压缩包并进入解压出来的目录[rootlocalhost vsftpd]# t…

创建mysql数据库,在新数据库中创建表,再尝试删除表

创建之前&#xff0c;先登录数据库存 mysql -u 账号 -p密码 登录完成后&#xff0c;展示一下已存在的数据库 show databases; 创建数据库 create database test111; 然后展示一下数据库&#xff0c;如下 show databases; 使用数据库 use test; 在test数据库里面看一下已存在的…

cmake:在各级目录之间共享变量(cmake cache变量)

摘要: 本文记录一下 CMake 变量的定义、原理及其使用。CMake 变量包含 Normal Variables、Cache Variables。通过 set 指令可以设置两种不同的变量。也可以在 CMake 脚本中使用和设置环境变量。set(ENV{} …)&#xff0c;本文重点讲述 CMake 脚本语言特有的两种变量。 正文&am…

antd+dva笔记

参考 React中函数式声明组件Dva Ant Design 前后端分离之 React 应用实践ReactDvaJS 之 hook 路由权限控制dva 知识地图react-router Guides and API docs (v2, v3)react-sage redux-saga 是一个用于管理 Redux 应用异步操作,可以用来代替 redux-thunk 中间件。《Redux-saga 中…

求两个矩形重叠部分的面积

#include<stdio.h> #include<math.h>#define areaFile "area.txt" #define perportionFile "perportion.txt"#define min(a,b) ( ((a)>(b)) ? (b):(a) ) #define max(a,b) ( ((a)>(b)) ? (a):(b) )typedef struct xy { int x; int y; …