响应式网页设计

响应式网页设计是什么

定义:响应式网页设计就是让网页具备根据设备应用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:设备像素比

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,820评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,648评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,324评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,714评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,724评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,328评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,897评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,804评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,345评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,431评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,561评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,238评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,928评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,417评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,528评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,983评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,573评论 2 359

推荐阅读更多精彩内容

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