CSS —— 多媒体查询

一、媒体类型

  1. all :用于所有的多媒体类型设备。
  2. print :用于打印机。
  3. screen :用于电脑屏幕、智能手机、平板等。
  4. speech :用于屏幕阅读器。

二、媒体查询的使用方法

媒体查询能在不同的条件下使用不同的样式,使页面在不同在终端设备下达到不同的渲染效果。

语法:@media 媒体类型and (媒体特性){你的样式}

  1. 最大宽度 max-width:媒体类型小于或等于指定的宽度时,样式生效(很常用)。
	// 当屏幕小于或等于 400px 时,页面中的 .box 都将被隐藏。
	@media screen and (max-width: 400px) {
  		.box {
    		display: none;
  		}
	}
  1. 最小宽度 min-width:媒体类型大于或等于指定宽度时,样式生效。
	// 当屏幕大于或等于 1000px 时,容器 .box 的宽度为 400px。
	@media screen and (min-width: 1000px) {
  		.box {
   		 	width: 400px;
  		}
	}
  1. 多个媒体特性使用:关键词 and 将多个媒体特性结合在一起。
	//当屏幕大于 700px 小于 1000px 时,.box 的宽度为 500px。
	@media screen and (min-width: 700px) and (max-width: 1000px) {
  		.box {
   			 width: 500px;
  		}
	}
  1. not关键字:用来排除某种制定的媒体类型,也就是用来排除符合表达式的设备。ot 关键词表示对后面的表达式执行取反操作。
	//在除打印设备和设备宽度小于 1200px 下所有设备中,容器 .box 的宽度为 500px。
	@media not print and (max-width: 1200px) {
  		.box {
    		width: 500px;
  		}
	}

三、使用弹性盒子创建响应式页面

大于800px:
在这里插入图片描述
px-800px:
在这里插入图片描述
小于600px:
在这里插入图片描述

<!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>
    .flex-container{
      display: flex;
      flex-flow: row wrap;
      font-weight: bold;
      text-align: center;
    }
    .flex-container > *{
      padding: 10px;
      flex: 1 100%;
    }
    .main{
      text-align: left;
      background: cornflowerblue
    }
    .header{
      background: coral;
    }
    .footer{
      background: lightgreen;
    }
    .aside1{
      background:moccasin;
    }
    .aside2{
      background: violet;
    }
    @media all and (min-width:600px){
      .aside{
        flex: 1 auto;
      }
    }
    @media all and (min-width:800px){
      .main{
        flex: 3 0px;
      }
      .aside1{
        order: 1;
      }
      .main{
        order: 2;
      }
      .aside2{
        order: 3;
      }
      footer{
        order: 4;
      }
    }
  </style>
</head>
<body>
  <div class="flex-container">
    <header class="header">头部</header>
    <article class="main">
      <p>菜鸟教程 - 学的不仅是技术,更是梦想!菜鸟教程(www.runoob.com)提供了最全的编程技术基础教程, 介绍了HTMLCSS、Javascript、Python,Java,Ruby,CPHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程。</p>
    </article>
    <aside class="aside aside1">边栏1</aside>
    <aside class="aside aside2">边栏2</aside>
    <footer class="footer">底部</footer>
  </div>
</body>
</html>

不积跬步无以至千里 不积小流无以成江海

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端杂货铺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值