响应式布局

  • 在不同设备上,同一网页根据设备特性(显示屏大小,分辨率)呈现不同的布局样式。
  • 思考:
  • 获取设备相关信息
  • 将屏幕划分为几个区域
  • 给需要变化的结构写多套 css 样式

媒体查询

常用写法

@media screen and (min-width: 768){}

  • 核心内容
  • #box {
    width: 200px;
    height: 200px;
    background-color: pink;
    } /* 媒体选择器 */ /* <= 768 */
    @media screen and (max-width: 768px){
    #box {
    background-color: red;
    }
    } /* 768 < ? < 1024 768 显示blue, 因为覆盖操作 */
    @media screen and (min-width: 768px) and (max-width: 1024px){
    #box {
    background-color: blue;
    }
    }

媒体选择器 必须写在正常样式之后,避免被覆盖

媒体查询 是 css3 提出来的,需要处理 +only 旧版本兼容

@media only screen and (max-width: 768px){}

  • 媒体操作符

取反 not

@media not screen and (width: 768px){ /* 不是 768 时的样式 */ }

  • 媒体类型
  • all    所有媒体(默认值)
  • screen    彩色屏幕
  • print    打印预览(注意: 不支持盒子的背景颜色)
  • #box {
    width: 100px;
    height: 100px;
    } /* 打印模式下,出现边框 */
    @media print and (min-width: 10px) {
    #box {
    border: 2px solid black;
    }
    }
  • projection    手持设备
  • tv                  电视
  • braille             盲文触觉设备
  • embossed             盲文打印机
  • speech            “听觉”类似的媒体设备
  • tty                 不适用像素的设备
  • 媒体属性
  • width    浏览器窗口区域的宽度,会监控 resize
  • height    浏览器窗口区域的高度,会监控 resize
  • device-width

在 PC 端,就是 PC分辨率(不监控 resize)

在移动端,表示 独立像素

  • -webkit-device-pixel-ratio

像素比    可加 max min 前缀 兼容 2.1 2.2 之类的设备

  • orientation:

portrait       竖屏

landscape    横屏

媒体选择器

<link rel="stylesheet" type="text/css" href="./css/index.css" media="print">    /* css2 提出来的,在打印模式下采用的样式 */

2x 图 3x 图

在保证不同设备完美显示图片的前提下,节约网络带宽

less 编写媒体查询

less → sass → stylus

面试题: css 预编译语言 less 的优势

嵌套编程,层次感,结构鲜明

可以定义变量,混合 maxin

bootstrap_响应式布局简介_媒体查询_媒体选择器_2x3x图的更多相关文章

  1. 响应式布局 —— Demo

    响应式布局实例演示What is 响应式布局? 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端--而不是为每个终端做一个特定的版本.这 ...

  2. 关于css3媒体查询和响应式布局

    响应式设计 响应式设计可根据所显示的屏幕大小而改变, 它呈现的每个屏幕看起来并不相同.按照可用的屏幕属性,响应式设计提供了 UI 的最佳效果. 例如,如果网站布局上有一个占据 25% 的屏幕宽度的侧边 ...

  3. CSS:使用CSS媒体查询创建响应式布局

    现如今在Web前端领域,BootStrap是一个最流行的UI库,其12列的栅栏系统为响应式布局提供了一种对程序员来说很好操作的模式. 追究Bootstrap的内在原理,其实就是通过媒体查询来完成对不同 ...

  4. html5 响应式布局(媒体查询)

    响应式布局        响应式布局,简而言之,就是一个网站能够兼容多个终端--而不是为每个终端做一个特定的版本.这个概念是为解决移动互联网浏览而诞生的.        响应式布局可以为不同终端的用户 ...

  5. 移动端响应式布局--你不知道的CSS3.0媒体查询,解决rem部分情况下无法适配的场景

    媒体查询作为响应式布局的方法之一,实际项目中用途也很广.但是你真的知道怎么用吗? 例如,下面匹配 iphone6/7/8 屏幕 @media screen and (max-width: 375px) ...

  6. 【学习笔记】响应式布局的常用解决方案(媒体查询、百分比、rem、和vw/vh)

    原文转载:https://blog.csdn.net/sinat_17775997/article/details/81020417 一.媒体查询 不同物理分辨率的设备,在还原设计稿时,css中设置的 ...

  7. Flex、Grid、媒体查询实现响应式布局

    本篇文章主要讲述使用Flex布局.Grid布局以及媒体查询三种方式来实现响应式布局. 文章涉及代码在线coding地址 效果图: 文字描述: 屏幕大小不同,展示列数不同,1-5号按照屏幕大小可展示2到 ...

  8. css3媒体查询实现网站响应式布局

    最常见的办法就是基类(最常用的网站布局)+扩展类(几种不同的网站布局类)来实现不同的布局. <!–使用说明:网站基本布局,使用class="layout";使用ipad访问时 ...

  9. CSS3---媒体查询与响应式布局

    1. 值 设备类型 All 所有设备 Braille 盲人用点字法触觉回馈设备 Embossed 盲文打印机 Handheld 便携设备 Print 打印用纸或打印预览视图 Projection 各种 ...

随机推荐

  1. C++创建对象的三种方法

    我自己以前经常弄混 A a(1); 栈内存中分配 A b = A(1); 栈内存中分配,和第一种无本质区别 A c = new A(1); 堆内存中分配 前两种在函数体执行完毕之后会被释放,第三种需要 ...

  2. C++ 在类里面使用多线程技术

    参考链接:   https://blog.csdn.net/jmh1996/article/details/72235232 说明:    C++的每个成员函数都会有一定转化, 而static 则不会 ...

  3. websocket 与Socket.IO介绍

    一  websocket WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如 Chrome,Safrie,Firefox,Opera,IE等等,对该协议支持最早的 ...

  4. AGC电路以及AD8347正交解调芯片

    1.AGC电路的工作原理 1.1AGC电路的用途 随着电磁环境的日益恶化, 不同频段电磁信号之间的相互串扰, 以及可能出现的人为干扰, 将会导致接收机输入端口的信号动态范围较大, 一旦出现电路饱和或是 ...

  5. Docker: repository, image, container

    1. 查看image: docker images 2. 查看信息: docker info 3. 搜索image: docker search [image_name], 比如: docker se ...

  6. MVC RedirectToAction 跳转时传参问题

    RedirectToAction方法提供了5个重载方法 1.单纯跳转,不带参数. string redirectUrl = "/List" ; return RedirectToA ...

  7. CSP应用开发-CryptAPI函数库介绍

    基本加密函数为开发加密应用程序提供了足够灵活的空间.所有CSP的通讯都是通过这些函数.一个CSP是实现所有加密操作的独立模块.在每一个应用程序中至少需要提供一个CSP来完成所需的加密操作.如果使用多于 ...

  8. 仿stl+函数模板

    #include<iostream> using namespace std; template<class T> void output(T begin, T end) { ...

  9. Error: Could not find or load main class Test

    问题描述 Linux 环境下运行 Java 程序时,执行 javac Test.java 生成 Test.class 文件,再执行 java Test 时报错:Error: Could not fin ...

  10. 滑动时候报错:Unable to preventDefault inside passive event listener, 移动端滑动性能优化

    https://www.jianshu.com/p/04bf173826aa 记录下  这篇帖子 解决办法1: 在touch的事件监听方法上绑定第三个参数{ passive: false }, 通过传 ...