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布局 的相关文章

  • Twitter Bootstrap 上的插入符号是如何构建的?

    这更多的是一个好奇问题 而不是我真正需要知道的事情 在本页面 http twitter github com bootstrap components html buttonDropdowns http twitter github com
  • CSS3 中均匀间隔的导航链接占据 ul 的整个宽度

    我想创建一个水平导航链接列表 其中导航链接均匀分布并占据封闭容器的整个宽度 ul 导航链接可以有不同的宽度 第一个和最后一个链接应与链接的开头和结尾对齐 ul 分别 意味着链接不居中 如下所示 left side right side li
  • CSS3 转换会立即发生吗?

    我有一个名为 artwork需要动画化 artwork webkit transition all 20s ease in transition all 20s ease in width 75 display block margin 0
  • 这个 CSS 选择器是什么? [类* =“跨度”]

    我在 Twitter Bootstrap 中看到了这个选择器 show grid class span background color eee text align center border radius 3px min height
  • Firefox 忽略背景大小的 css

    尝试使用背景大小 CSS 规则缩小图像 但 Firefox 3 5 似乎会忽略该规则 CSS privatejoker background aqua url styles images home privatejoker png no r
  • 没有嵌套容器的桌面和移动 Flexbox 布局

    我有 3 个 div 它们必须按移动布局的特定顺序排列 但我必须将第 2 个 div 作为桌面布局的侧边栏 所以对于移动设备 分区1 分区2 分区3 对于桌面 分区1 div2 分区3 在桌面布局中 div 2 有阴影背景 因此必须是父级的
  • 拖放区缩略图宽度图像大小

    如何更改上传图像的缩略图大小 我在我的javascript中尝试过thumbnailWidth 350 但是这不会增加缩略图大小 而缩略图只是看起来放大了 如何操作图像缩略图大小 HTML section section
  • 显示带有背景颜色的百分比条

    例如 如果我有一个包含两列和 2 行的表 Col1 Percentage 50 50 70 70 如何用代表 COl1 值的颜色填充百分比列 像这样的东西 您可以使用具有两个紧接着的停止点的线性渐变 percentageFill heigh
  • 使组合高度等于浏览器窗口的高度

    http featuredfotografer com http featuredfotografer com Codemirror div 与 header div 结合占用的高度超过了浏览器的高度 我怎样才能使它们的总高度达到浏览器窗口
  • 如何检查元素的内容是否为空,如果是,则在 jquery 中删除该元素

    我目前正在尝试选择某个 div 内没有内容的任何 h2 元素并将其删除 这是我的 html 代码 div class skipToContainer h2 class vidSkipTo Hello h2 h2 class vidSkipT
  • 使用溢出时无法隐藏滚动条:auto

    我有这个CSS div background color red position relative height 414px overflow auto width 902px margin 0px auto 我尝试过overflow y
  • 文本后面有粗下划线

    如何使用 span 和 css 在文本 ABC 后面重现这种下划线 我已经能够做下划线below嵌套的文本span和彩色的border bottom 但无法获取behind图像和above文本基线 p style font size 48p
  • 响应式导航栏隐藏其下方的元素

    我创建了一个响应式导航栏 但它使下面的元素 Flexslider 插件 消失 在我制作导航栏之前 下面的 Flexslider 可以正常显示 但现在不行 导航栏的 z index 为 2 所以我不知道问题是什么 我应该如何 更改什么才能允许
  • 跨浏览器:禁用输入字段的不同行为(文本可以/不能复制)

    我有一个被禁用的输入 html 字段 在某些浏览器 Chrome Edge Internet Explorer 和 Opera 中可以选择并复制文本 但至少在 Firefox 中这是不可能的 您可以通过在不同浏览器中执行以下代码来测试
  • 在 IE 8 及以下版本中动态添加 @font-face 规则

    我使用 IE stylesheet addRule 方法添加 font face 规则 但是 符号对于该方法的 选择器 参数来说是不允许的字符 因此我收到 无效参数 错误 s addrule font face font family Fo
  • html 和 body 元素的高度

    我一直在互联网上查找 min height 和 height 属性如何在 body 和 html 元素上工作 我在很多地方都看到过下面的代码 html height 100 body min height 100 上面的内容可以与其他一些
  • 将样式添加到 mat-autocomplete 的 mat-option

    我有这个 HTML代码在这里 https stackblitz com edit angular mat autocomplete with selected value vx1uqg file src 2Fapp 2Fautocomple
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 如何阻止破折号自行包裹?

    我有一个标题 标题最后一个单词的末尾是一个破折号 单词和破折号之间没有空格 当浏览器窗口变小时 破折号会中断并换成新行 在自己的行上有一个破折号是不好的排版 如何停止破折号之前的换行 以便最后一个单词运行到新行 这是代码 h1 XYZ co
  • 为什么元素上的负底部边距会降低该元素父元素的高度?

    这可能是由于边距折叠造成的 我知道边距折叠 至少知道它如何影响相邻元素 但我不明白当涉及负边距时它如何在嵌套元素上工作 例如 在此标记和随附的 CSS 中 Markup div class parent div class child Ch

随机推荐

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

    在使用电脑的过程中 方便我们的同时 也会出现很多问题 比如说曾经遇到过这样的问题 打开电脑 显示几个开机字样之后 电脑就黑屏了 这时仅仅能看到一个可移动的鼠标光标 怎么办 下面 小编就跟大伙介绍电脑进入系统后黑屏的修复方法 现代社会 电脑已
  • 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