【响应式布局】使用 flexbox 实现简单响应式布局

news2025/1/14 10:10:33

场景和需求

  • 屏幕 > 540px,前两个部分展示两列,
  • 屏幕 < 540px,前两个部分展示一列
  • 屏幕 < 540px,第一部分要反转展示
  • 屏幕 > 769px,第三个部分展示三列
  • 屏幕 < 769px,第三个部分展示一列

效果图

请添加图片描述

实现方式一:改变 flex-direction(推荐)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
     * {
      margin: 0;
      padding: 0;
     }

     body {
      display: flex;
      flex-direction: column;
      gap: 1em;
      padding: 1em;
     }

    .container {
      display: flex;
      gap: 1em;
    }

    .container > * {
      flex: 1;
    }

    .container > :first-child {
      background-color: cyan;
    }
    

    @media (max-width: 540px) {
    
      .container--col-2-reverse {
        flex-direction: column-reverse;
      }
      
      .container--col-2 {
        flex-direction: column;
      }
    } 

    
    @media (max-width: 769px) {
      .container--col-3 {
        flex-direction: column;
      }
    } 



  </style>
</head>
<body>
  <div class="container container--col-2-reverse">
    <div>
      Happy birthday!!!party1
    </div>
    <div>
      Happy birthday!!!party2
    </div>
  </div>
  <div class="container container--col-2">
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus quas animi dolore placeat, voluptatibus, reiciendis obcaecati rem unde quos!
    </p>
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus quas animi dolore placeat, voluptatibus, reiciendis obcaecati rem unde quos!
    </p>
  </div>
  <div class="container container--col-3">
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus!
    </p>
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus quas animi dolore placeat, voluptatibus, reiciendis obcaecati rem unde quos!
    </p>
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus quas animi dolore placeat, voluptatibus, reiciendis obcaecati rem unde quos!
    </p>
  </div>
  
</body>
</html>

实现方式二:改变 flex-wrap + flex-basis(一般)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
     * {
      margin: 0;
      padding: 0;
     }

     body {
      display: flex;
      flex-direction: column;
      gap: 1em;
      padding: 1em;
     }

    .container {
      display: flex;
      gap: 1em;
    }

    .container > * {
      flex: 1;
    }

    .container > :first-child {
      background-color: cyan;
    }
    

    @media (max-width: 540px) {

      
      .container--col-2-reverse {
        flex-wrap: wrap-reverse;
      }

      .container--col-2-reverse > * {
        flex-basis: 100%;
      }

      .container--col-2 {
        flex-wrap: wrap;
      }
      
      .container--col-2 > * {
        flex-basis: 100%;
      };

    } 

    
    @media (max-width: 769px) {
      .container--col-3 {
        flex-wrap: wrap;
      }

      .container--col-3 > * {
        flex-basis: 100%;
      }
    } 



  </style>
</head>
<body>
  <div class="container container--col-2-reverse">
    <div>
      Happy birthday!!!party1
    </div>
    <div>
      Happy birthday!!!party2
    </div>
  </div>
  <div class="container container--col-2">
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus quas animi dolore placeat, voluptatibus, reiciendis obcaecati rem unde quos!
    </p>
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus quas animi dolore placeat, voluptatibus, reiciendis obcaecati rem unde quos!
    </p>
  </div>
  <div class="container container--col-3">
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus!
    </p>
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus quas animi dolore placeat, voluptatibus, reiciendis obcaecati rem unde quos!
    </p>
    <p>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos ratione eligendi repellendus illo temporibus corrupti, error ullam ipsam magni necessitatibus quas animi dolore placeat, voluptatibus, reiciendis obcaecati rem unde quos!
    </p>
  </div>
  
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java计算机毕业设计自习室管理系统(附源码、数据库)

java计算机毕业设计自习室管理系统&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

java进阶编程思想(七天)

编程核心思想基本框架第一天&#xff08;继承&#xff09;第二天&#xff08;抽象和接口&#xff09;第四天&#xff08;多态、DATA、Object、正则&#xff09;第五天&#xff08;遍历、Set、斗地主游戏案例&#xff09;第六天第七天b站链接:懂不懂我意思明不明白哈哈哈基本框架…

声明式事务@Transactional

事务 事务管理在 Web 系统开发中是非常重要的&#xff0c;可以在一定程度上保证数据的一致性。Spring提供了非常优秀的事务管理机制&#xff0c;主要分为&#xff1a; 编程式事务声明式事务 编程式事物 在代码中手动的管理事务的提交、回滚等操作&#xff0c;代码侵入性比较…

【毕业设计】66-基于物联网技术的智能家居系统的研究(仿真工程、原理图、低重复率设计文档、答辩PPT)

【毕业设计】66-基于物联网技术的智能家居系统的研究&#xff08;仿真工程、原理图、低重复率设计文档、答辩PPT&#xff09; 文章目录【毕业设计】66-基于物联网技术的智能家居系统的研究&#xff08;仿真工程、原理图、低重复率设计文档、答辩PPT&#xff09;资料下载链接任务…

代码随想录算法训练营第58、59天 | 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II 42. 接雨水

代码随想录系列文章目录 单调栈篇 文章目录代码随想录系列文章目录739. 每日温度496.下一个更大元素 I503.下一个更大元素II42.接雨水双指针解法dp解法单调栈解法单调栈具体的处理逻辑739. 每日温度 题目链接 暴力解法&#xff0c;双指针&#xff0c;超时, 因为数据长度是100…

【考研复试】计算机专业考研复试英语常见问题一(家庭/家乡/学校篇)

相关链接&#xff1a; 【考研复试】计算机专业考研复试英语常见问题一&#xff08;家庭/家乡/学校篇&#xff09;【考研复试】计算机专业考研复试英语常见问题二&#xff08;研究方向/前沿技术/本科毕设篇&#xff09;【考研复试】计算机专业考研复试英语常见问题三&#xff0…

Spring Boot+Vue3前后端分离实战wiki知识库系统之用户管理单点登录

用户表设计与代码生成 用户表设计 生成持久层代码 同样是在gennerator.xml中添加并执行&#xff1a; 完成用户表基本增删查改功能 首先我们应该改造controller 接着是service,service的查询条件要根据loginname来查找&#xff1a; 接着修改三个实体&#xff1a; 注…

Windows OpenGL 图像单色

目录 一.OpenGL 图像单色 1.原始图片2.效果演示 二.OpenGL 图像单色源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES 学习…

基于stm32单片机的电压报警系统Proteus仿真

资料编号&#xff1a;112 下面是相关功能视频演示&#xff1a; 112-基于stm32单片机的电压报警系统Proteus仿真&#xff08;源码仿真全套资料&#xff09;功能介绍&#xff1a; 采用stm32单片机的12位ADC采集电压&#xff0c;当电压值超过设置值蜂鸣器和LED产生报警&#xff…

知识蒸馏 | YOLOv7知识蒸馏实战篇 | 2/2*

知识蒸馏 | YOLOv7知识蒸馏实战篇 | 2/2* 文章目录 知识蒸馏 | YOLOv7知识蒸馏实战篇 | 2/2*0. 环境准备1. 训练学生网络2. 训练教师网络3. 知识蒸馏训练4. YOLOv7官方项目修改说明5. 源码0. 环境准备 终端键入: pip install -r requirements.txt -i https://pypi.tuna.tsin…

11.19 - 每日一题 - 408

每日一句&#xff1a;人生难得几回搏&#xff0c;此时不搏待何时。 数据结构 1 在下列叙述中&#xff0c;正确的叙述是______ A.树的先序遍历和中序遍历可以得到树的后序遍历B.将一棵树转换成二叉树后&#xff0c;根结点没有右子树C.采用二叉链表作存储结构&#xff0c;树的…

序列召回基础+GRU4Rec论文阅读

1. 推荐系统简介 推荐系统&#xff0c;即就是为当用户推荐一些他感兴趣的项目、商品、视频等等&#xff0c;当然在对于小的项目库中能进行很快的推荐&#xff0c;但是随着不断的增加&#xff0c;数据量剧增&#xff0c;这时候就需要我们进行分步骤进行推荐&#xff0c;这就把推…

【Spring系列】- Bean生命周期底层原理

Bean生命周期底层原理 &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 一个有梦有戏的人 怒放吧德德 &#x1f31d;分享学习心得&#xff0c;欢迎指正&#xf…

SpringBoot SpringBoot 开发实用篇 4 数据层解决方案 4.6 SpringBoot 读写 Redis 的客户端

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇4 数据层解决方案4.6 SpringBoot 读写 Redis 的客户端4.6.1 问题引入…

pytorch深度学习实战lesson21

第二十一课 卷积神经网络之池化层 卷积神经网络的一个重要概念就是池化层&#xff0c;一般是在卷积层之后。池化层对输入做降采样&#xff0c;常用的池化做法是对每个滤波器的输出求最大值&#xff0c;平均值&#xff0c;中位数等。下面我们和沐神详细学习一下池化层的原理与实…

第七章第三节:散列表(Hash Table)

文章目录教程1. 散列表&#xff08;Hash Table&#xff09;1.1 散列表的基本概念1.2 散列函数的构造方法1.2.1 除留佘数法1.2.2 直接定址法1.2.3 数字分析法1.2.4 平方取中法1.3 处理冲突的方法1.3.1 拉链法1.3.2 开放定址法1.3.2.1 线性探测法(常考)1.3.2.2 平方探测法1.3.2.3…

数据结构题目收录(十九)

1、在下图所示的平衡二叉树中插入关键字48后得到一棵新平衡二叉树&#xff0c;在新平衡二叉树中&#xff0c;关键字37所在结点的左、右子结点中保存的关键字分别是&#xff08;&#xff09;。 A&#xff1a;13,48B&#xff1a;24,48C&#xff1a;24,53D&#xff1a;24,90 解析…

windows驱动开发环境搭建以及helloworld

文章目录前言编译环境-WDK的安装搭建测试驱动的虚拟机win11虚拟机win10虚拟机在测试机器上运行驱动上面驱动代码含义其他前言 参考&#xff1a;windows驱动开发环境搭建以及helloworld | qwertwwwe 搭建驱动环境–编写hello驱动–安装测试虚拟机–安装驱动 编译环境-WDK的安装…

web前端-第三次作业-按钮

<!DOCTYPE html> <!-- 2022/11/16 --> <html lang"ch"> <head><meta charset"UTF-8"><title>按钮</title><style>*{margin: 0;padding: 0;box-sizing: border-box;}body{display: flex;justify-content: …

AutoDWG DWG 转换 PDF 控制组件-ActiveX

AutoDWG DWG 到 PDF 控制组件&#xff0c;比以往任何时候都更快&#xff01; DWG2PDF-X &#xff0c;一个控制组件允许您直接将 dwg 转换为 pdf&#xff0c;dxf 和 dwf 直接转换为 pdf&#xff0c;不需要 AutoCAD。 主要特征&#xff1a; 支持 R2.5 到 2019 版本的 DWG、DXF 和…