响应式设计 MediaQuery和flex

news2024/11/28 8:47:30

一、MediaQuery(媒体查询)的概念

为不同尺寸的屏幕设定不同的css样式

示例

 

二、@media常用参数

三、媒体查询代码示例 

 MediaQuery在浏览器中的显示示例

 

MediaQuery综合案例

<!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>媒体查询案例</title>
    <style>
     #div0{
        width:100%;   
       }

       #div0 div{
         float: left;
         height:200px;
       }

       /*一行三个div*/
       @media screen and (min-device-width:400px) {
        #div0 div{
            width:33.3%;
        }
        #div0 div:nth-child(1){
            background-color: aqua;
        }
        #div0 div:nth-child(2){
            background-color: purple;
        }
        #div0 div:nth-child(3){
            background-color: palevioletred;
        }
       }

       /*两行三个div*/
       @media screen and (min-device-width:200px) and (max-device-width:400px){
        #div0 div{
            width:50%;
        }
        #div0 div:nth-child(1){
            background-color: aqua;
        }
        #div0 div:nth-child(2){
            background-color: purple;
        }
        #div0 div:nth-child(3){
            background-color: palevioletred;
        }
       }


       /*三行三个div*/
       @media screen and (min-device-width:100px) and (max-device-width:200px){
        #div0 div{
            width:100%;
        }
        #div0 div:nth-child(1){
            background-color: aqua;
        }
        #div0 div:nth-child(2){
            background-color: purple;
        }
        #div0 div:nth-child(3){
            background-color: palevioletred;
        }
       }

    </style>
</head>
<body>
    <div id="div0">
       <div></div>
       <div></div>
       <div></div>

    </div>

    
</body>
</html>

 

四.媒体查询的其他引入方式 

style另一种写法,写一个公共的style,再分别写自己的style

 

link标签引入外部css,上面的link引入公共部分css,下面的link引入media部分

 

五、什么是flex

概念:FlexiableBox即是弹性盒子,用来进行弹性布局,可以配合rem处理尺寸的适配问题。

 

 5.1 flex-direction

 5.2 flex-wrap

5.3 flex-flow 

 

 

代码示例 

<!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>flex布局</title>
    <style>

         #div0{
            width:500px;
            background-color: violet;
          
            display: flex;
            /* 按row显示,但顺序相反*/
            flex-direction: row-reverse;
         }

         #div0 div{
            width: 100px;
            height: 100px;
            background-color: yellow;
         }

    </style>
</head>
<body>
    <div id="div0">
          <div>1</div>
          <div>2</div>
          <div>3</div>
          <div>4</div>

    </div>
    
</body>
</html>

关于flex的代码都写在父元素上,上图显示如下,如果flex-direction为column,则会垂直显示,如果父元素的宽度为300px,不够装下子元素,则子元素的宽度会等比缩小。正常显示。加上flex-wrap,选择换行,则装不下会自动换行,不会缩小子元素。

 5.4 justify-content

 当上述代码的父元素宽度为380,四个装不下,三个还有空余,那么怎么处理,可以采用上述方法。

5.5 align-items

交叉轴的判定是先判断主轴,如果div排序是横向排序则横向是主轴,纵向是交叉轴,反之纵向是主轴。

下图是align-item居中显示,位于容器开头就是放在容器的最上面。

 align-items 每一行都当作一个单独的个体去处理的

5.6 align-content 

align-content 把多行当成一个整体去看,去排序。

5.7其他属性

 

<!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>flex练习2</title>
    <style>
        #div0{
            display: flex;
            width:400px;
            height:500px;
            background-color: violet;
        }

        #div0 div{
            width:200px;
            height: 200px;
            background-color: yellow;
        }

        #div0 div:nth-child(1){
            flex-basis: 50px;
            flex-grow:1;
        } #div0 div:nth-child(2){
            flex-basis: 100px;
            flex-grow:4;
        }

    </style>
</head>
<body>
    <div id="div0">
       <div></div>
       <div></div>

    </div>
    
</body>
</html>

flex-basis:基准值,表示该元素的具体值,如上述代码,设置了子元素div的宽度为200px,但是后来又分别设置了子元素div的基准值,则最后显示的时候,以基准值为准

flex-grow:拓展比例,如果两个子元素div不够宽,父元素上还留有一截,则把这一截比例划分,上图是1,4划分,就是五份,这一截除以5,就是每一份的份数,设置为1的加一份,设置为4的加4份。

flex-shrink:与flex-grow差不多。

其他属性的缩写

 写的顺序就是放大比例、缩小比例、基准值

flex特殊写法

 

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

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

相关文章

Go语言笔记:使用ssh包作为客户端与SSH服务器交互

文章目录 目的基础说明使用演示单次通讯连续通讯&#xff08;远程终端&#xff09; 总结 目的 Golang中可以使用 golang.org/x/crypto/ssh 包作为SSH客户端或者SSH服务使用。这篇文章将简单记录下作为客户端使用的一些内容。 Package ssh implements an SSH client and server…

QT自定义控件折线图、趋势图。

这里提供两种实现方式&#xff0c;一直自绘的自定义控件&#xff0c;一直三方SDK&#xff08;qcustomplot&#xff09;。 这里主要介绍自绘的&#xff0c;它的优点是结构简单&#xff0c;代码逻辑好修改&#xff0c;容易定制&#xff0c;缺点是功能相对单一。三方的qcustomplot…

循迹模块(应用于小车)

1.1循迹模块使用 TCRT5000传感器的红外发射二极管不断发射红外线 当发射出的红外线没有被反射回来或被反射回来但强度不够大时&#xff0c; 红外接收管一直处于关断状态&#xff0c;此时模块的输出端为高电平&#xff0c;指示二极管一直处于熄灭状态 被检测物体出现在检测范…

C++ | 数组拷贝

C | 数组拷贝 文章目录 C | 数组拷贝数组名数组拷贝1.对应位拷贝2.地址位移赋值3. memcpy内存拷贝4.字符数组拷贝 Reference 数组名 C数组间赋值不能直接通过数组名称 randy sesame进行&#xff0c;因为数组名并不是指针&#xff0c;大部分情况下&#xff0c;编译器会隐式转换…

使用nvm 管理node.js版本的安装过程

一个 nodejs 版本管理工具&#xff01;—— nvm 在项目开发过程中&#xff0c;随着框架的不断更新迭代&#xff0c;对一些环境依赖的版本也有影响&#xff0c;部分的老项目可能需要低版本的 node.js 才能正常使用&#xff0c;而后期新开发的项目可能需要更高的 node.js 版本才…

都说2023是测试员的危机年,却不断有人跳槽拿20K+,为什么?

从 2021 年上旬开始触发的经济危机逐渐蔓延到普通人的生活中&#xff0c;裁员、倒闭、跑路俨然已成为刷爆朋友圈的高频热词。随之而来的是一系列因舆论所牵动的各种焦虑感弥漫在人群中&#xff0c;无论是大公司还是之前处于风口浪尖的明星创业公司&#xff0c;几乎无一幸免。聊…

ANR实战案例3 - 应用在部分低端机ANR优化案例

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录前言一、Blocked状态1.案例一2.案例二3.案例三 二、高低端机区分1.WebView预加载 三、…

Flink基础介绍-2 架构

Flink基础介绍-1 概述 二、Flink架构2.1 Flink的设计架构2.2 Flink的运行架构2.3 Flink的系统架构 二、Flink架构 2.1 Flink的设计架构 Flink是一个分层的架构系统&#xff0c;每一层所包含的组件都提供了特定的抽象&#xff0c;用来服务于上层组件&#xff0c;Flink的分层体…

搬家货运系统软件开发功能

生活中要用到搬家的场景很多&#xff0c;租房子、买房子、换房子都要搬家&#xff0c;不管是从时间还是专业性上来说&#xff0c;很多人都更愿意找专业的搬家公司来代为处理&#xff0c;于是市面上出现了各类各样的货运搬家软件&#xff0c;让有需求的用户可以直接在线预约搬家…

Java实现网上人才招聘系统【附源码】

网上人才招聘系统 1、概述 3 2、系统分析 4 2.1、问题定义 4 2.2、可行性研究 4 2.2.1、可行性需求分析 4 2.2.2、数据流分析 5 2.2.3、数据字典 6 2.2.4、程序流程图 6 2.2.4、开发进度计划 6 2.3、需求分析 7 2.3.1、功能需求分析 7 2.3.2、数据需求分析 10 2.3.3、性能需求…

Dozer拷贝DO到VO

DO&#xff1a; data object 查出来的数据 VO&#xff1a; value object 要展示的数据&#xff0c;返回给前端的数据 DO查出来的字段比较多&#xff0c;VO过滤一下返回给前端 工具类Dozer <dependency><groupId>com.github.dozermapper</groupId><arti…

Vue3 router路由跳转传参Json数据,隐藏参数Url不显示跳转内容,使用History 来写,setup语法糖的写法

前言&#xff1a;Vue3中 Router的自2022-8-22 日后不能使用 params传参 —— 可以这么写&#xff0c;但是接收的时候会是空值 —— query可以用但不能用隐藏Url地址内的值&#xff0c;所以我们用History来写 history敲不出来的可以看最下面 这个相当于history模式父级调到子集后…

Linux文本三剑客之~~~awk 详细讲解 与date粗略讲解

目录 一. awk工作原理&#xff1a;1.1命令格式:1.2 awk常见的内建变量(可直接用)如下所示: 二 实验示例2.1 按行输出文本2.2按字段输出文本2.3 通过管道符双引号调用shell命令 date命令 一. awk工作原理&#xff1a; 逐行读取文本&#xff0c;默认以空格或tab键为分隔符进行分…

软件测试月薪2万,需要技术达到什么水平?

最近跟朋友在一起聚会的时候&#xff0c;提了一个问题&#xff0c;说一个软件测试工程师如何能月薪达到二万&#xff0c;技术水平需要达到什么程度&#xff1f;人回答说这只能是大企业或者互联网企业工程师才能拿到。也许是的&#xff0c;小公司或者非互联网企业拿二万的不太可…

网络性能监控(NPM)工具

网络是每个企业的支柱。即使在小型或企业级企业中&#xff0c;网络中断期间的生产力损失也可能导致巨大的损失。网络监控解决方案可帮助您预测潜在的中断并主动解决网络问题。这有助于维护无拥塞网络&#xff0c;使您的业务保持正常运行。这可以在网络监控工具的帮助下实现。网…

spring boot 完整后端接口案例

第一章 会员管理项目父模块搭建 1.1 创建模块mengxuegu-member mengxuegu-member 作为所有工程的父工程&#xff0c;用于管理项目的所有依赖。 1.2 添加pom依赖&#xff0c;pom.xml 文件位于&#xff1a;会员管理系统/03-配套资料/pom文件/member-pom.xml <?xml version&…

自建minio实现doris的快速备份与恢复

一.概述 doris支持通过腾讯云bos、阿里云oss、hdfs实现备份与恢复&#xff0c;但是我们公司doris部署在线下机房&#xff0c;如采用oss/bos, 大数据备份与恢复比较慢&#xff0c;会占用一定的带宽&#xff0c;如采用hdfs&#xff0c;担心小文件太多影响现有的hadoop集群。为了保…

C# Forecast 预测数据方法,MathNet.Numerics学习分享

Forecast 数据预测 /// <summary>/// 数据预测/// </summary>/// <param name"xValues">数据序列</param>/// <param name"yValues">数据值</param>/// <param name"forecastPoint">第N个预测序列<…

腾讯面试经验,岗位是C++后端

分享一篇腾讯面经&#xff0c;岗位是C后端&#xff0c;考察的内容是C、Redis、网络。 c shared_ptr的原理 答&#xff1a;内部的共享数据和引用计数实现 补充&#xff1a; shared_ptr多个指针指向相同的对象。shared_ptr使用引用计数&#xff0c;每一个shared_ptr的拷贝都…

【瑞萨RA系列FSP库开发】RASC+Keil的环境搭建

文章目录 一、获取资源包二、安装 Keil 软件、RA 芯片包和 RASC三、RASC 集成到 Keil四、使用 RASC 生成 Keil 工程五、通过 Keil 打开 RASC 的 FSP 配置器界面六、配置和编译 Keil 工程七、使用调试器下载程序 本节将介绍如何在Keil上开发瑞萨RA MCU &#xff08;如需了解 e2 …