CSS布局—— float布局和flex布局

2023-11-09

用什么CSS布局

当需要兼容IE9时,使用float布局;当需要兼容IE9且不需要兼容最新浏览器时,使用flex布局;当不需要兼容IE9、需要兼容最新浏览器时,使用grid布局。

float布局

  • 父元素:添加clearfix类,清楚浮动bug
  • 子元素:float: left | right
  • 必要时使用负margin
.clearfix::after {
    content: '';
    display: block;
    clear: both;
    }

注意事项:

  1. 留一些空间或者最后一个不设width
  2. float布局不需要做响应式,因为手机上没有IE,而这个布局时专门为IE准备的
  3. IE6/7存在双倍margin bug,解决办法有两个:一是将margin减半;二是再加一个display:inline-block

flex布局

flex comtainer 样式

1. 让一个元素变成flex容器

.container {
display: flex; /* or inline-flex */
}

请添加图片描述
2. 改变items流动方向(主轴)
row 从左往右 row-reverse 从右往左
column 从上往下 column-reverse 从下往上
请添加图片描述
3. 改变折行
nowrap 不折行;wrap 折行; wrap-reverse 反方向折行
请添加图片描述
4. 主轴对齐方式
默认主轴是横轴,除非改变了flex-direction方向

.container {
justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
}

请添加图片描述
5.次轴对齐方式
默认次轴是纵轴

.container {
align-items : stretch | flex-start | flex-end | center | baseline;
}

在这里插入图片描述
6. 多行内容

.container {
align-content :flex-start | flex-end | center | stretch |space-between | space-around;
}

请添加图片描述

flex item 样式

1. item 上面加order
order属性的默认值为0;order值越小越在前面。
CSS属性规定了弹性容器中的可伸缩项目在布局时的顺序。元素按照 order 属性的值的增序进行布局。拥有相同 order 属性值的元素按照它们在源代码中出现的顺序进行布局。
请添加图片描述
2. item上加flex-grow
控制自己如何长胖,默认值为0
请添加图片描述
3. flex-shrink 控制如何变瘦
一般写flex-shrink:0;防止变瘦,默认为1。
4. flex-basis 控制基准宽度
CSS 属性 flex-basis 指定了 flex 元素在主轴方向上的初始大小。如果不使用 box-sizing 改变盒模型的话,那么这个属性就决定了 flex 元素的内容(content-box)的尺寸。默认为0
5.flex缩写
用空格隔开

flex:flex-grow flex-shrink flex-basis

6. align-self 定制 align-items
可以在元素标签内单独设置想要的对齐方式
请添加图片描述

注意事项

  1. 永远不要把width和height写死,除非特殊说明(不写死例如:width : 50% | max-width : 100px | width : 30vw | min-widh : 80%
  2. min-width/max-width/min-height/max-height
  3. flex可以基本满足所有需求
  4. flex和margin-xxx: auto配合会有意外的效果

练习flex小游戏

Flex青蛙游戏

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS布局—— float布局和flex布局 的相关文章

  • 范围输入拇指随着时间的推移而偏移

    我查遍了 Stackoverflow 似乎所有带有拇指标签的范围滑块都有这个问题 例如 这个答案 https stackoverflow com a 35419875几乎没有 但仍然有 基本上你可以计算value max得到left范围值标
  • CSS 主体宽度未填充 100%

    我正在开发一个网页 我注意到这个问题 Please post anything you get in mind it will be very helpful 检查网站here http dev mariachi com br europe
  • CSS 字体显示功能是什么?

    对于我的网站 我从 Google 的 PageSpeed Insights 获得以下反馈 利用字体显示 CSS 功能确保加载 Web 字体时文本对用户可见 这意味着什么 CSS font display允许您控制网络字体在加载时 加载后如何
  • 尝试将星号添加到必填输入字段

    我想我不太明白 before and after因为我无法让这个工作 我只是想在表单中的必填字段后添加一个星号 我的代码很简单
  • 当内容悬停时变为粗体时防止表格扩展

    我正在处理一张表格 其中一个要求是每一行在悬停时变为粗体 我可以正常工作 但是当发生这种情况时 列的宽度会发生变化 有什么办法可以防止这种情况发生吗 table width 100 border 1px solid ccc margin t
  • 有没有办法在 Nokogiri css 中转义非字母数字字符?

    我有一个锚标签 file html stuff morestuff CHP 1 SECT 2 1 尝试提取 Nokogiri 中引用的内容 documentFragment at css stuff morestuff CHP 1 SECT
  • 制作一个透明的圆形按钮,带有不透明边框和文本/字体很棒的图标

    基本上我想要一个性感的 反应灵敏的圆形按钮 它是透明的 这样你就可以通过它看到背景 但有一个不透明的轮廓 这样你就可以看到按钮和不透明的文本 或者也许我会在稍后阶段添加一个字体很棒的图标 这是我的 JS 小提琴 这样你就可以看到我正在尝试做
  • 在纯 css3 循环中按顺序对元素进行动画处理

    我正在尝试在完整的 css3 动画中按顺序对元素进行动画处理 似乎非常直接的答案是使用动画延迟 但是我想要这个循环 有什么想法如何使动画无限循环吗 我找到了这个fiddle http jsfiddle net cherryflavourpe
  • 如何在 Quill(富文本编辑器)中检测和修剪前导/尾随空格?

    如何检测并删除前导 尾随空格Quill https quilljs com 哪个是富文本编辑器 例如 样本HTML下面代表Quill文本的输出 nHi 我们想要检测并删除由以下命令创建的每个文本块的前导和尾随空格Quill 不适用于整个文档
  • 三行无表 CSS 布局,中间行填充剩余空间

    我需要的是一个包含 3 行的基于像素高度的 div 最上面一行的高度根据内容而变化 底行具有固定高度 中间行填充任何剩余空间 一切都是宽度 100 我一直在努力构建一个 div 和基于 CSS 的布局几个小时 这让我从字面上看seconds
  • HTML/CSS 水平导航子菜单悬停显示错误

    我正在创建一个带有水平导航和垂直子菜单的 HTML 页面 一切工作正常 除了子菜单上的悬停显示在实际菜单项的左侧 看我的jsfiddle https jsfiddle net qmcte349 https jsfiddle net qmct
  • 关于调试打印样式表的建议?

    我最近一直在为一个网站制作打印样式表 我意识到我不知道如何有效地调整它 在屏幕布局上工作时有一个重新加载周期是一回事 更改代码 命令选项卡 reload 但是当您尝试打印时 整个过程会变得更加困难 更改代码 命令选项卡 reload pri
  • 如何在没有文本修饰的文本下方添加一行:下划线? [复制]

    这个问题在这里已经有答案了 我需要在文本下方添加一行 而不需要文本装饰 下划线 否则如何在文本和行之间创建自定义空间 我们所做的 您可以使用Border Bottom和一些Padding Bottom a border bottom 1px
  • 如何让 Twitter Bootstraps 移动导航栏覆盖页面上的内容而不是将其向下推?

    我正在使用 Twitter Bootstrap 并且想修改移动导航栏 以便在展开时下拉菜单覆盖页面上的内容 而不是将其向下推 我知道我可能需要制作包含 div 绝对定位 增加它的 z index 并定位外部 div 相对而言 但我似乎无法让
  • 平板电脑在第一次单击时悬停,在第二次单击时单击

    发布这个问题主要是希望证实我对该行为的怀疑 从而为其他程序员记录下来 因为我在网上没有找到任何记录 我正在构建一个网站 其导航栏具有以下属性 水平截面是 ul of li 和一些 li li s 两者都有 A n a 元素带您进入该主题 触
  • 调整大小后获取实际图像大小

    我有一个充满缩略图的页面 用 css 调整大小150x150 当我单击缩略图时 页面变暗 并且图像以其真实尺寸显示 目前 我必须手动创建一个包含所有图像的实际高度的数组 为了解决设计问题 减少画廊的手动操作 我需要在调整图像大小 CSS 后
  • 垂直对齐材质图标

    我正在尝试在导航菜单中垂直对齐 下拉箭头 我尝试过各种方法 例如vertical align middle display inline block 之类的东西 但这根本没有帮助 http img02 imgland net jfCmDoW
  • 如何使单词中的每个字母在悬停时发生变化

    假设我的网站上某个段落中有一个单词 IamGreat 我希望它在悬停时更改为 Good4you 但是 我不想更改整个单词 而是希望每个字母单独更改 因此 如果我将鼠标悬停在字母 I 上 它将变成字母 G 字母 r 将变成数字 4 等 这两个
  • 有没有一种方法可以使页面布局在 100% 缩放下完美契合,同时又尊重更大的缩放系数?

    有多种方法可以布局网页 使其适合浏览器视口 DOMwindow 当我说 适合 时 我包括更改所用字体的大小 更改 DIV IMG 和其他渲染元素的宽度和高度 以及允许元素 流畅 移动 目标是使页面在所有显示设备 从小型手机到大桌面屏幕 上看
  • 向 Twitter Bootstrap 添加新字体系列

    我怎样才能按照他们的方式将新的字体系列添加到 twitter bootstrap 中 他们使用一种叫做 woff 的东西 我正在尝试将 roboto 添加到 css 文件中 我怎样才能像他们那样做 woff 的事情呢 font face f

随机推荐

  • 计算机进入系统黑屏,电脑进入系统后黑屏,教您电脑进入系统后黑屏怎么办

    在使用电脑的过程中 方便我们的同时 也会出现很多问题 比如说曾经遇到过这样的问题 打开电脑 显示几个开机字样之后 电脑就黑屏了 这时仅仅能看到一个可移动的鼠标光标 怎么办 下面 小编就跟大伙介绍电脑进入系统后黑屏的修复方法 现代社会 电脑已
  • MySql的JDBC连接url地址的各项配置说明及所解决的问题

    首先看一条jdbc的url地址 url jdbc mysql 127 0 0 1 3306 test useAffectedRows true autoReconnect true useUnicode true characterEnco
  • CSS之行高(line-height)详解

    行高 line height 1 浏览器中默认文字大小为16px 2 浏览器中默认文字行高为18px 行高 文字大小 上下间距 1 通过设置文字的行高 改变的就是文字的上下间距 2 如果不设置行高 文字的大小可以影响行高值 3 文字的字体也
  • VMware vCenter Server 7.0.3 安装

    VMware vCenter Server 7 0 3 安装 文章目录 VMware vCenter Server 7 0 3 安装 1 安装 vcenter 1 1 第一阶段 1 2 第二阶段 2 exsi 查看 vcenter 3 部署
  • TiKV源码分析(一)RaftKV层

    关于TiDB与TiKV学习总结 本章序 关于RaftStore层 从RaftBatchSystem开始 状态机做了什么 mailbox注册与tx rx通道设置 消息收发与处理 Peer中的具体操作 Apply中的具体操作 一些琐碎信息 本章
  • 数据结构-栈的顺序存储结构(C++实现)

    目录 1 声明栈的结构体 2 初始化栈顶 3 添加元素至栈顶 4 删除栈顶元素 5 显示栈 整段代码 1 声明栈的结构体 结构体内声明一个data用来存放栈数据 top用来指向栈顶 typedef int ElemType typedef
  • 关于SOC、态势感知,5种常见的关联分析模型

    引言 在很多安全分析类产品建设的过程中都会涉及到关联分析 比如日志分析 soc 态势感知 风控等产品 关联分析可以认为是这类产品中最核心的能力之一 这个东西从名字上看就知道 千人千面 每个人的想法和理解都不一样 很多甲方都会提关联分析 但你
  • vue 路由切换动画(滑入,滑出效果)

    最近做的一个小项目 需要做路由切换 页面滑入滑出的效果 总结下实现的思路和方法 router view 用 transition 标签包裹 router view 组件 动态添加动画名 data 里定义transitionName变量
  • 四种访问修饰符

    Java中修饰符分为两种 访问修饰符和非访问修饰符 修饰符中 有一些修饰符可以既可以修饰类 也可以修饰方法 但是有一些修饰符只能修饰符方法 今天这篇文章先介绍一下四种访问修饰符 1 private修饰符 private表示私有的 既然是私有
  • C++ 大话设计之《简单工厂模式》(优缺点,设计原理,常用场景)

    简单工厂是一种创建型模式 优点 简单工厂模式能够提高生产效率和生产力 缺点 简单工厂模式将所有产品的创建逻辑集中在一个工厂类中 一旦这个工厂类出现问题 整个系统都会受到影响 如果要添加新的产品类 需要修改工厂类的代码 违反了开闭原则 对扩展
  • 史上最全的2023年最新版Android面试题集锦(含答案解析)

    前言 又到了一年的金三银四黄金求职季 虽说今年以来 经济回暖 但行业岗位缺口紧缩的趋势恢复还需一段时间 尤其对于Android开发而言 想要跳槽到一个高薪岗位更是难上加难 因此 想要杀出重围 必然要有万全的准备 除了一份美观的简历 还必须刷
  • 这梦想笑开了花---Day15

    题记 散尽这满腔的爱和忧伤 任这一往无前的气势澎湃 我在这 要走下去 转正快要一个月了 来这博客也有半个月了 算是在这个行业入了门 每天的忙碌略感疲惫 但这白天公司里编写后台的代码 晚上回家自己钻研着前端的开发 倒也乐此不疲的享受着 有朋友
  • C++STL之list容器

    一 list特性 list为带哨兵位双向循环链表 支持任意位置的插入和删除 与 array vector deque 相比 list的移除元素效率更高 最大缺陷是不支持 重载 不支持随机访问 只能通过迭代器进行线性开销的迭代 二 list的
  • 创建窗口

    工作涉及到了opengl的boom的demo 看到了learn opengl中有 所以 从头学起 顺便记录下 链接https learnopengl cn readthedocs io zh latest 01 20Getting 20st
  • GAN,IGBT, MOSFET

    作者 集微网 校对 团团 集微网 爱集微APP 各大主流应用商店均可下载 集微网消息 功率半导体是电子电力装置电能转换与电路控制的核心器件 根据Yole数据 中国已经成为全球最大的功率半导体消费市场 预计至2021年 全球功率器件市场规模将
  • Substance designer 瓦片贴图制作

    瓦片贴图制作 因为最终在unity应用 所以采用BaseColor Metallic Roughness Normal Height贴图的工作流程 对于瓦片的细节上 可以分为 基色 上下两种 污渍 水渍 苔藓 裂痕 如果你研究Substan
  • 使用ffmpeg获取一帧摄像头数据

    最近在研究FFmpeg 比较惊讶的是网上一大堆资料都是在说如何从已有的视频中截取一帧图像 却很少说到如何直接从摄像头中捕获一帧图像 其实我一直有个疑问 就是在Linux下 大家是用什么库来采集摄像头的 opencv 还是自己写v4l2的代码
  • HDOJ1052

    先用最快马比 不行再用最慢马比 都不行 就送最慢马给忘得最快马 include
  • git提交本地仓库至远端

    文章目录 1 创建完项目结构 没有分支 2 在github上新建远程仓库 3 按照上图中红色框中的命令 就可以提交本地 4 提交过程中可能会遇到全局配置文件config 中没有配置用户和邮箱地址的情况 5 git pull push每次都需
  • CSS布局—— float布局和flex布局

    用什么CSS布局 当需要兼容IE9时 使用float布局 当需要兼容IE9且不需要兼容最新浏览器时 使用flex布局 当不需要兼容IE9 需要兼容最新浏览器时 使用grid布局 float布局 父元素 添加clearfix类 清楚浮动bug