响应式网页设计

响应式网页设计是什么

定义:响应式网页设计就是让网页具备根据设备应用CSS样式的能力

解释

  • 响应式网页设计英文:Responsive Wed

  • 设计:设想、计划。设计就是实线想法。

  • 网页设计:按照一定的设计思路布局网页内容。

  • 传统网页设计:都是针对PC端浏览器而设计的。

  • 传统网页设计的弊端:不能根据用户设备应用样式。在移动互联网时代,传统的网页设计不适合小屏幕展示。响应式网页设计应运而生。

  • 响应式网页设计是一种设计网页的思想/方法。

  • 响应:指让我们的网页能够自动响应用户代理。并根据查询结果应用不同的CSS样式

实现响应式网页设计的技术手段

第一种:通过CSS判断用户设备。

  1. 设置视口
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  1. 设置媒体查询:使用Media Query判断用户访问设备

第二种:通过JS判断用户设备。

  1. 视口

  2. 使用JS判断用户访问设备

案例

非响应式网站:

响应式网站:

技术:视口+媒体查询+1个HTML+多套样式

响应式适配

技术:视口+JS判断+多个HTML+1套样式

Viewport是什么

定义:viewport就是视口的意思,指移动端渲染网页的区域。

解释:

  • view:是“看”的意思

  • Port:是“端口”的意思

  • Viewport:翻译为“视口”。

  • viewport是没有大小的。就是viewport不等于网页可见区域的大小。

  • 视口可以通过<meta>标签设置

  • 如果没有设置,则按照默认980设置

设置viewport

可以通过<meta>标签设置移动端视口的大小和缩放。它的语法是:

<meta name='viewport' content='宽度/高度 初始比例 最大比例 最小比例 是否缩放'>

五个属性值

1.width/height:设置视口的宽度或高度。

注意:如果不设置视口,那么iOS的视口默认为980px宽

示例:属性值为数值,无单位。表示视口的宽度为375px

<meta name='viewport' content='width=375'>

示例:属性值为device-width。表示把视口的宽度设置为设备可视域宽。

<meta name='viewport' content='width=device-width'>

2.initial-scale:设置视口的初始比例。

语法:

<meta name='viewport' content='width=device-width, initial-scale=1'>

属性值:0.1-1

默认值:1

0.1-1:表示缩小

1-10:表示放大

3.maximum-scale:设置视口最大缩放比

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=10" />

4minimum-scale:设置视口最小缩放比

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=2" />

5user-scalable:设置视口是否允许缩放

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=5,user-scalable=0" />
参数 注释
user-scalable=0/1 0相当于no,1相当于yes

媒体查询是什么

  • 媒体查询是一种查询用户设备和设备特性的技术。

  • 媒体查询是由media属性和@media规则构成。以下三种用法,都可以实现相同的效果。

    • medla属性设置在<style>标签上

    • meala属性可以设置在<link>标签上

    • @meida规则设置在样式表里

  • 通过媒体查询,我们可以查询到用户设备类型和设备特性。

  • 常见设备类型

    • screen :所有有电子屏幕设备

    • print :打印机

    • speech :阅读器

    • handle :手持设备

    • all :所有设备

  • 常见的设备特性

    • width

    • height

    • orientation

    • hover、

    • resolution

    • aspect-ratio

媒体查询的语法

media属性

<style media='查询规则'>
</style>

media属性

<link href='print.css' media='查询规则'>
<link href='screen.css' media='查询规则'>

@media规则

/*CSS文件*/
@media 查询规则{
    /*这里写代码*/
}

查询规则

  • 查询规则由媒体类型+媒体特性表达式构成。

  • 媒体类型和媒体特性表达式使用逻辑操作符(andnotonly,)连接,操作符前后必须有空格。

  • 所有的媒体特性表达性必须用小括号括起来

  • 不区分大小写。

示例

/*在横向屏幕设备上,让body的背景色显示为红色*/
/*在竖向屏幕设备上,让body的背景色显示为蓝色*/
/*landscape:横屏*/
@media screen and (orientation:landscape){
    body{
        background-color:red;
    }
}
/*portrait:竖屏*/
@media screen and (orientation:portrait){
    body{
        background-color:blue;
    }
}
/*是否支持输入设备的悬停效果*/
<style media="<hover:hover)">
a:hover{
    color:white;
    background-color:red
};
</style>

示例:断点修改背景色

/*查询视口范围min,查询max范围将顺序反过来*/
<style>
      header,
      footer {
        background-color: black;
        color: #fff;
        height: 100px;
      }
      body{
        background-color: blueviolet;
      }
      @media screen and (min-width:576px){
        body{
            background-color: blueviolet;
        }
      }
      @media screen and (min-width:768px){
        body{
            background-color: goldenrod;
        }
      }
      @media screen and (min-width:992px){
        body{
            background-color: palevioletred;
        }
      }
      @media screen and (min-width:1200px){
        body{
            background-color: blue;
        }
      }
      @media screen and (min-width:1400px){
        body{
            background-color: greenyellow;
        }
      }
</style>

复习JS

js的三个组成部分

  • ECMAScript:ES

  • DOM:文档对象模型:就是一些文档方法的集合。让你通过这些方法可以操作文档。

  • BOM:浏览器对象模型:就是一些与浏览器有关的方法集合。让你通过这些方法可以操作浏览器窗口。

window.devicePixelRatio

  • device:设备

  • Pixel:像素

  • Ratio:比例

  • devicePixelRatio:设备像素比

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 导读 响应式网页设计是什么 实现响应式网页设计的方法 响应式网站案例 viewport是什么 设置viewport...
    buhaoqi阅读 1,297评论 6 15
  • 一、介绍 什么是响应式网页设计? 响应式网页设计使您的网页在所有设备上都很好看。 响应式网页设计仅使用HTML和C...
    小王子b612小行星阅读 10,437评论 0 5
  • 一、名词解释 名词引用自教科书——《响应式Web设计——HTML5和CSS3实战(第二版)》 响应式Web设计(R...
    GeekJun阅读 808评论 0 3
  • 名词解释 响应式网页设计 Responsive Web design(RWD) “响应式网页设计”这个名字是Eth...
    LIAN07阅读 425评论 0 1
  • 什么是“响应式网页设计” “响应式网页设计”这个名字是Ethan Marcotte在2010年发明的。当时,他在A...
    0104LIN林阅读 514评论 0 0