十五、flex弹性元素的样式

目录:
1. 基本布局
2. 弹性元素的属性:flex-grow
3. 弹性元素的属性:flex-shrink
4. 弹性元素的属性:flex-basis
5. flex 统一设置这3个属性(常用)
6. order

一、基本布局

<style>

        *{
            margin: 0;
            padding: 0;
            list-style: none;
        }

        ul{
            width: 800px;
            border:10px red solid;
            /* 当设置了ul为弹性盒子,li就自动是弹性元素 */
            display: flex;
        }
        li{
            width: 200px;
            height: 100px;
            background-color: #bfa;
            font-size: 50px;
            text-align: center;
            line-height: 100px;
        }


        li:nth-child(2){
            background-color: pink;
        }
        li:nth-child(3){
            background-color: orange;
        }


    </style>
<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>

</body>

二、弹性元素的属性:flex-grow

  • flex-grow:1 表示所有元素平均分配剩下的空白,比如空白300,那么每个
    方框就在弹长100。
    li{
        
			width: 200px;
            height: 100px;
            background-color: #bfa;
            font-size: 50px;
            text-align: center;
            line-height: 100px;
            /* 弹性元素的增长系数 */
            flex-grow: 1;
        }


        li:nth-child(2){
            background-color: pink;
          
        }
        li:nth-child(3){
            background-color: orange;
        
        }
    • 如果每一个都设置了增长系数,假设剩余空白是300, 现在总共系数分配比例:1 + 2 + 3 = 6,300 / 6 = 50, 对应的每个方框,弹长:1* 50 = 50, 2 * 50 = 100, 3 * 50 = 150
    li{
        
			width: 200px;
            height: 100px;
            background-color: #bfa;
            font-size: 50px;
            text-align: center;
            line-height: 100px;
            /* 弹性元素的增长系数 */
            flex-grow: 1;
        }


        li:nth-child(2){
            background-color: pink;
             /*增长系数是按照比例去分配的, */
            flex-grow: 2;
        }
        li:nth-child(3){
            background-color: orange;
            flex-grow: 3;
        }

三、弹性元素的属性:flex-shrink

  • flex-shrink:弹性元素的缩减系数,默认1

测试:把父类ul 的width设置小点,会发现里面的元素,会自动缩减,以适应父类边框变小的情况。

 <style>

        *{
            margin: 0;
            padding: 0;
            list-style: none;
        }

        ul{
            width: 400px;
            border:10px red solid;
            /* 当设置了ul为弹性盒子,li就自动是弹性元素 */
            display: flex;
        }
        li{
            width: 200px;
            height: 100px;
            background-color: #bfa;
            font-size: 50px;
            text-align: center;
            line-height: 100px;
            /* 弹性元素的增长系数*/
            flex-grow: 1;
            /* 弹性元素的缩减系数
                - 缩减系数的计算方式比较复杂
                - 缩减多少是根据 缩减系数和 元素大小 来计算。 基本理论是元素越大,缩减的越多
         
            */
            flex-shrink: 1;
        }
        
        li:nth-child(2){
            background-color: pink;
            flex-grow: 2;
        }
        li:nth-child(3){
            background-color: orange;
            flex-grow: 3;
        }
    </style>

<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>  
</body>

四、弹性元素的属性:flex-basis

   flex-basis 指定的是元素在主轴上的基本长度
                如果主轴 - 横向 - 则该值指定的就是元素的宽度 - 原来设置li的width无效
                如果主轴 - 纵向 - 则该值指定的就是元素的高度- 原来设置li的height无效
                 - 默认值是auto,表示参考元素自身的高度或宽度
                 - 如果传递了一个具体的数值,则以该值为准
  • flex-basis: 设置弹性元素的基础长度。一旦这里设定了100px, li里面设定的width:200px,就失效了。
 <style>

        *{
            margin: 0;
            padding: 0;
            list-style: none;
        }

        ul{
            width: 800px;
            border:10px red solid;
            /* 当设置了ul为弹性盒子,li就自动是弹性元素 */
            display: flex;
        }
        li{
            width: 200px;
            height: 100px;
            background-color: #bfa;
            font-size: 50px;
            text-align: center;
            line-height: 100px;
        
           /* 弹性元素的增长系数*/
            /* flex-grow: 1; */
            
            flex-shrink: 1;

            /* 弹性元素基础长度:flex-basis ,一旦这里设定了100, li里面		设定的width:200px,就失效了。
            所有的li,都固定成100px
             */
            flex-basis: 100px;
        }
        

        li:nth-child(2){
            background-color: pink;
            
        }
        li:nth-child(3){
            background-color: orange;
          
        }


    </style>

总的可以理解为:flex-basis: 100px; 表示设置了这个弹框的宽度是100, 然后这个弹簧能弹多长,由flex-grow来确定,越大越长。这个弹框能够缩多短,由flex-shrink来决定。 所以这3个属性,就是弹簧的3种状态

五、flex 统一设置这3个属性(常用)

- 通常我们在运用这几个属性的时候,不会一个个这样单独设置,而是直接一起写.
- 假设我们想要的效果是:flex-grow:增长系数1, flex-shrink:缩减系数1, flex-basis:基础值 auto  
 - flex 可以设置弹性元素所有的3个样式
   flex 增长 缩减  基础
<style>

        *{
            margin: 0;
            padding: 0;
            list-style: none;
        }

        ul{
            width: 800px;
            border:10px red solid;
            /* 当设置了ul为弹性盒子,li就自动是弹性元素 */
            display: flex;
        }
        li{
            width: 200px;
            height: 100px;
            background-color: #bfa;
            font-size: 50px;
            text-align: center;
            line-height: 100px;
         
            /* 通常这样用:
            flex 可以设置弹性元素所有的3个样式
            flex 增长 缩减  基础
            
            */
            flex: 1 1 auto;

        }
        

        li:nth-child(2){
            background-color: pink;
            
        }
        li:nth-child(3){
            background-color: orange;
          
        }


    </style>

<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>

    
</body>
  • flex 除了可以自己设置值,还有几个固定的可选值
  •        initial  "flex:0 1 auto"
             auto    "flex: 1 1 auto"
             none    "flex:0 0 auto" 设置这个,表示弹性元素没有弹性了
    
 li{
            width: 200px;
            height: 100px;
            background-color: #bfa;
            font-size: 50px;
            text-align: center;
            line-height: 100px;
        
            /* 
            flex 可以设置弹性元素所有的3个样式
            flex 增长 缩减  基础
               initial  "flex:0 1 auto"
               auto    "flex: 1 1 auto"
               none    "flex:0 0 auto" 设置这个,表示弹性元素没有弹性了
            */
            flex: initial;

        }

六、order

  • 控制元素的排列顺序
  li{
            width: 200px;
            height: 100px;
            background-color: #bfa;
            font-size: 50px;
            text-align: center;
            line-height: 100px;
           
            flex: initial;

        }
        li:nth-child(1){
            /* order 决定弹性元素的排列顺序 */
            order:3;
        }

        li:nth-child(2){
            background-color: pink;  
            order:2;
        }
        li:nth-child(3){
            background-color: orange;
            order:1;
        }

注意:flex 对IE 8,9可能支持不是很好,移动端随意使用。 浮动和flex优先推荐flex

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/36431.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Arcgis之Python的Arcpy的点线面对象的创建处理和通过pandas读取txt中的经纬度坐标创建几何对象

前言 本节将介绍点线面对象的创建和处理。创建点对象有三个类&#xff0c;分别是Point、Multipoint、PointGeometry&#xff0c;创建线对象的类为Polyline&#xff0c;创建面对象的类为Polygon。 一、点对象的创建——Point 点对象经常与光标配合使用。点要素将返回单个点对…

抖音seo矩阵系统源码|需求文档编译说明(技术)

1.抖音seo矩阵系统文档开发流程 抖音SEO矩阵指的是一系列通过搜索引擎优化&#xff08;SEO&#xff09;技术和策略来提升抖音账号在搜索结果中排名的方法和工具。在抖音上&#xff0c;用户可以通过搜索关键词来查找与其相关的视频和账号。因此&#xff0c;抖音SEO矩阵的主要目…

Java阶段四Day11

Java阶段四Day11 文章目录 Java阶段四Day11Spring AOPElasticsearch1. 关于各种数据库的使用2. 关系型数据库中的索引3. 安装与启动elasticsearch4. 访问elasticsearch5. 使用elasticsearch分词6. elasticsearch文档的相关概念7. 使用elasticsearch添加数据7.1. 添加文档7.2. 查…

QT登录界面

1.效果图 2.代码 #include "widget.h" #include "ui_widget.h" #include <QApplication> #include <QWidget> #include <QtWidgets>Widget::Widget(QWidget *parent): QMainWindow(parent), ui(new Ui::Widget) {ui->setupUi(this);…

【CSS】浮动

&#x1f4dd;个人主页&#xff1a;爱吃炫迈 &#x1f48c;系列专栏&#xff1a;HTMLCSS &#x1f9d1;‍&#x1f4bb;座右铭&#xff1a;道阻且长&#xff0c;行则将至&#x1f497; 文章目录 浮动浮动的规则浮动的案例浮动的清除 浮动 float属性可以指定一个元素应沿其容器的…

deeplabv3+源码之慢慢解析 第二章datasets文件夹(1)voc.py--voc_cmap函数和download_extract函数

系列文章目录&#xff08;更新中&#xff09; 第一章deeplabv3源码之慢慢解析 根目录(1)main.py–get_argparser函数 第一章deeplabv3源码之慢慢解析 根目录(2)main.py–get_dataset函数 第一章deeplabv3源码之慢慢解析 根目录(3)main.py–validate函数 第一章deeplabv3源码之…

亚马逊云科技推出的一项完全托管的生成式AI服务——Amazon Bedrock

在全球生成式AI浪潮兴起之际&#xff0c;以“智联世界&#xff0c;生成未来”为主题的2023世界人工智能大会&#xff08;WAIC 2023&#xff09;于7月6日在上海世博中心拉开帷幕。大会首日&#xff0c;亚马逊云科技携生成式AI产品Amazon Bedrock亮相大会现场&#xff0c;亚马逊云…

Linux发行版Gentoo被发现有漏洞,在SQL注入方面存在安全风险

近日有消息表明&#xff0c;Gentoo Linux发行版中存在漏洞CVE-2023-28424&#xff0c;并且极有可能被黑客利用该漏洞进行SQL注入攻击。 据悉&#xff0c;研究人员从 GentooLinux的Soko搜索组件中找到了这个漏洞&#xff0c;并且该漏洞的CVSS风险评分为 9.1&#xff0c;属于特别…

使用Pytorch加载预训练模型及修改网络结构

Pytorch有自带的训练好的AlexNet、VGG、ResNet等网络架构。详见官网 1.加载预训练模型 import torch import torchvision import torch.nn as nn import torch.optim as optim import torch.nn.functional as F import torchvision.transforms as transforms import torchvis…

【QQ好友列表-设置HeaderView Objective-C语言】

一、咱们一起来看 刚才咱们是不是给大家说到 创建好模型了 是不是单元格,我们需要自定义单元格了 自定义单元格的步骤: 我相信大家现在脑子里,应该有那个代码的思路了吧 1)首先,是不是要新建一个类型啊 这个类型应该建在哪个里面 是不是应该建在我们的View里面 View…

linux常见指令下

接下来我们就聊聊linux的后面十条指令。 一:echo 作用是往显示器输出内容&#xff0c;和printf类型&#xff0c;但是该指令最核心的是与之相关的一些概念 概念1.输出重定向&#xff1a; echo不仅可以向显示打印内容&#xff0c;还可以向文件输出内容&#xff0c;本应该输出到…

图片视频抹除算法总结Inpaint

基本是从图片抹水印和视频抹水印两个方向 Video Inpainting&#xff1a;https://paperswithcode.com/task/video-inpaintingImage Inpainting&#xff1a;https://paperswithcode.com/task/image-inpainting 请根据目录查看 图片 Partial Conv 部分卷积层 源自于Image In…

人工智能时代如何加强网络安全

人工智能正在为软件开发人员赋予以前被认为难以想象的新能力。新的生成式人工智能可以提供复杂、功能齐全的应用程序、调试代码或使用简单的自然语言提示添加内嵌注释。 它已准备好以指数方式推进低代码自动化。但与此同时&#xff0c;新一代人工智能可能会为不良行为者提供帮…

vue中控制element表格列的显示与隐藏

背景 根据‘执行进度计算方式’的单选框里面的选项不同&#xff0c;展示不同的column 按最小制剂单位统计: 按含量统计: 实现方式 就是拿到选项框里面的值&#xff0c;再根据里面的值来判断哪些column显示和隐藏&#xff1b;关于显示和隐藏可以设置变量&#xff1b; <…

比对Excel数据

以a个为准绳比对b表数据&#xff0c;添加比对结果列输出。 (本笔记适合初通 Python 的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那么…

训练自己的ChatGPT 语言模型(一).md

0x00 Background 为什么研究这个&#xff1f; ChatGPT在国内外都受到了广泛关注&#xff0c;很多高校、研究机构和企业都计划推出类似的模型。然而&#xff0c;ChatGPT并没有开源&#xff0c;且复现难度非常大&#xff0c;即使到现在&#xff0c;没有任何单位或企业能够完全复…

【内控版】BLM 战略方法论:战略意图篇

目录 介绍 战略意图 专栏列表 详细内容 配图 介绍 欢迎大家继续来到华为战略方法论的系列内容。 今天就来讲讲 BLM 模型中的战略意图篇。 战略意图在 BLM 模型中的位置,大家可以看这张图。 战略意图</

Redis 主从复制 哨兵 集群

Redis 主从复制 哨兵 集群 一、Redis 主从复制1.1 Redis 主从复制介绍1.2 主从复制的作用1.3 主从复制的流程 二、搭建Redis 主从复制2.1 安装 Redis2.2 创建redis工作目录2.3 环境变量2.4 定义systemd服务管理脚本2.5 修改 Redis 配置文件&#xff08;Master节点操作&#xff…

基于TF-IDF+Tensorflow+PyQt+孪生神经网络的智能聊天机器人(深度学习)含全部Python工程源码及模型+训练数据集

目录 前言总体设计系统整体结构图系统流程图孪生神经网络结构图 运行环境Python 环境TensorFlow 环境 模块实现1. 数据预处理2. 创建模型并编译3. 模型训练及保存4. 模型应用 系统测试1. 训练准确率2. 测试效果3. 模型生成 工程源代码下载其它资料下载 前言 本项目利用TF-IDF&…

Microsoft Remote Desktop for mac安装教程

适用于Mac的Microsoft远程桌面测试版&#xff01;Microsoft Remote Desktop Beta for Mac是一种远程工具&#xff0c;允许用户从Mac远程访问基于Windows的计算机。使用此工具&#xff0c;用户可以随时随地使用Mac连接到远程桌面、应用程序和资源。 Microsoft Remote Desktop B…