什么是响应式设计

news/2024/10/25 14:27:04/

也叫响应式布局,响应式开发

实现不同屏幕分辨率的终端上浏览网页的不同展示方式。

响应式布局是根据设备屏幕宽度不同适当调整标签显示的布局,从而在每种设备屏幕宽度下呈现的界面是不同的

响应式布局

原理:

  • 一个网站适配所有终端,实现不同屏幕分辨率下的终端上网页的不同布局;

  • 使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而达到适配不同屏幕的目的

简单的说:

响应式布局是元素随着屏幕发生宽高大小变化 + 盒子布局发生变化

自适应:元素随着屏幕发生宽高大小变化

优缺点

优点:

  • 1、减少工作量,网站、设计、代码、内容都 只需要一份,多出来的工作量只是JS脚本、CSS样式做一些改变

  • 2、节省设计、开发、维护成本【不再特定的维护PC页面,移动页面】

  • 3、面对不同分辨率设备灵活性强,能够快捷解决多设备显示适应问题

缺点:

  • 1、兼容问题(IE8以下不支持)

  • 2、需要加载更多的样式和脚本文件

  • 3、代码累赘,会出现隐藏无用的元素,加载时间加长

  • 4、页面设计比较难于精确定位和控制

  • 5、影响用户体验(一定程度上改变了网站原有的布局结构,会出现用户混淆的情况,)

Bootstrap框架、苹果官网和星巴克官网使用的响应式布局

响应式网站演示:SegmentFault 思否

2、响应式需要的技术 :

1.设置视口标签

2.使用媒体查询

3.响应字体

4.响应图片

5.采用百分比

1、媒体查询

1、标签设置

meta标签的设置

1.虚拟窗口:创建虚拟窗口,自定义窗口的大小和缩放功能,能适应移动设备的屏幕大小

<meta name="viewport" content="width=device-width, initial-scale=1.0">

2.使用高版本的IE内核浏览器或者Chrome浏览器

<meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1">
​
http-equiv = "X-UA-Compatible":
​
这个是针对ie8以上浏览器的一个属性,ie8以下无法识别。就是说ie8以上浏览器遇到这个属性会执行content的描述,大小写不敏感。

2、使用媒体查询适配对应样式

可以根据设备显示器的特性,来设置不同的css的样式

2、媒体查询的引入方式和语法

1、媒体查询的语法

媒体查询的语法:@media mediaType and (media feather) {选择器 {属性名:属性值}} 
多个条件:@media mediaType and (media feather) and (media feather){选择器 {属性名:属性值}} 
​mediaType:设备类型media feather:媒体特性表表达式
​
​1.mediaType设备类型:all:所有的多媒体设备print:打印机或打印预览screen:电脑屏幕、平板电脑、智能手机等speech:屏幕阅读器等发声设备
​
2.media feather:媒体特性表达式width:浏览器的宽度height:浏览器的高度max-width:最大宽度min-width:最小宽度device-width:设备宽度device-height:设备高度max-device-width:最大设备宽度min-device-width:最小设备宽度
​orientation:设备的窗口朝向1.横屏   宽度比高度大   orientation:landscape;2.竖屏   高度比宽度大   orientation:portrait;​
3.操作符
- and(与、和)not: not是用来排除掉某些特定的设备的,比如 @media not print(非打印设备)only: 用来定某种特别的媒体类型。
​/* 除了 speech 设备都可以用*/@media not speech {body {background-color: tomato;}}
​/* 只能在screen设备能用 */@media only screen {body {background-color: yellowgreen;}}
  • 媒体查询小案例--只在打印设备显示

<!DOCTYPE html>
<html lang="en">
​
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.txt {font-size: 30px;display: none;}
​/* 媒体查询 打印设备  在浏览器中鼠标右击,有打印两个字  点击就可以哦 */@media print {.txt {display: block;}}
​/* display: none; 隐藏元素display: block; 显示元素*/</style>
</head>
​
<body><p class="txt">你看不见我,只能在打印设备才能看的见我哦</p>
​
</body>
​
</html>

2、媒体查询的引入方式

1.内部方式引入

 <style>
​body {background-color: red;}
​/* 横屏 宽大于高 */@media screen and (orientation: landscape) {body {background-color: yellow;}}
​/* 竖屏 高大于宽 */@media screen and (orientation: portrait) {body {background-color: pink;}}</style>

2.外链式

 在html的head标签的内部使用link标签引入外部的css文件(后缀名为.css的文件)<head><link rel="stylesheet" href="./css/demo.css"></head>
​body {background-color: pink;}
​/* 横屏 宽大于高 */@media screen and (orientation: landscape) {body {background-color: tomato;}}
​/* 竖屏 高大于宽 */@media screen and (orientation: portrait) {body {background-color: yellowgreen;}}
​<!-- 只有横屏时有样式 --><link rel="stylesheet" href="./css/demo.css" media="screen and (orientation: landscape)"> 
​<!-- 只有竖屏时有样式 --><link rel="stylesheet" href="./css/demo.css" media="screen and (orientation: portrait)">

3、媒体查询常见的媒体尺寸设置

通过媒体查询,针对不同的设备的尺寸设置断点来改变布局

屏幕        设备        断点
超小屏幕     手机        <768px
小屏幕       平板        >=768px ~ <992px  
中等屏幕      桌面       >=992px ~ <1200px
大屏幕       桌面        >=1200px       常用媒体查询尺寸:1200px1100px    1000px   1024px980px768px     720px640px480px375px320px280px

4、移动设备优先

    移动设备优先:超小屏幕 超小型设备(手机,768px以下)
​小屏幕  768px-992px@media screen and (min-width:768px) { ... } /* 小型设备(平板电脑,768px 以上) */
​中等屏幕 992px - 1200px  @media screen and (min-width:992px){ ... }/* 中型设备(台式电脑,992px 以上) */大屏幕  大于1200px@media screen and (min-width:1200px){ ... }/* 大型设备(大台式电脑,1200px 以上) */

案例:

<!DOCTYPE html>
<html lang="en">
​
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/*在移动端看 移动端显示的颜色  768px屏幕以下*/body {background-color: orange;}
​/* 小屏幕  768px-992px  屏幕宽度在768px以上显示的颜色*/@media screen and (min-width: 768px) {body {background-color: yellow;}}
​/* 中等屏幕  992px - 1200px*/@media screen and (min-width: 992px) {body {background-color: tomato;}}
​/* 大屏幕  大于1200px*/@media screen and (min-width: 1200px) {body {background-color: pink;}}</style>
</head>
​
<body>
​
</body>
​
</html>

5、大屏幕设备优先

   大屏幕设备优先:大屏幕 桌面在1200px以上    大型设备(大台式电脑,1200px 以上)中等屏幕 992px-1200px@media screen and (max-width:1200px) { ... } /* 中型设备(台式电脑,1200px 以下) */小屏幕 768px-992px@media screen and (max-width:992px){ ... }/* 小型设备(平板电脑,992px 以下) */超小屏幕 768px屏幕以下@media screen and (max-width:768px){ ... }/* 超小型设备(手机,768px 以下) */或者@media screen and (max-width:768px){ ... }/* 超小型设备(手机,767px 以下) *//* 注意:此时超小屏幕和小屏幕在768px之间有冲突,怎么解决?把超小屏幕的区间降低1px*/

案例:

<!DOCTYPE html>
<html lang="en">
​
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 屏幕大于1200px显示的颜色 */body {background-color: green;}
​/* 中等屏幕 992px-1200px 屏幕宽度在1200px以下显示的颜色*/@media screen and (max-width:1200px) {body {background-color: tomato;}}
​
​/* 小屏幕 768px-992px*/@media screen and (max-width:992px) {body {background-color: pink;}}/* 注意:此时超小屏幕和小屏幕在768px之间有冲突,怎么解决?把超小屏幕的区间降低1px*//* 超小屏幕 768px屏幕以下*/@media screen and (max-width:767px) {body {background-color: orange;}}</style>
</head>
​
<body>
​
</body>
​
</html>

###


http://www.ppmy.cn/news/319183.html

相关文章

【Redis总结-基础入门】

第一章 Redis基础 Redis总结-基础入门 第一章 Redis基础学习目标&#xff1a;1. Redis 简介1.1 NoSQL概念1.1.1 问题现象1.1.2 NoSQL的概念 1.2 Redis概念1.2.1 redis概念1.2.2 redis的应用场景 1.3 Redis 的下载与安装1.3.1 Redis 的下载与安装 1.4 Redis服务器启动1.4.1 Redi…

电脑常用快捷键大全(含Visual Studio快捷键操作)

目录 一、系统快捷键 二、常用系统命令 三、QQ快捷键 四、IE浏览器快捷键使用大全 五、Word 中的快捷键 六、Excel 中的快捷键 七、PowerPoint 中的快捷键 八、Visual Studio 九、Eclipse 十、Photoshop 十一、批处理指令 十二、安装操作系统 &#xff08;此快捷操作对我们程…

python爬虫用什么电脑好_【Python】【爬虫】最近想买电脑,用Python爬取京东评论做个参考...

最近想换电脑&#xff0c;又有点不确定买哪一款。所以决定爬取京东上电脑评论&#xff0c;做个参考&#xff0c;并把最终结果绘制成词云图。 一、先来看下三款电脑评价的词云图 1 用Python爬取京东自营ThinkPad T490s的评论绘制成词云图 2 用Python爬取京东自营MacBook Pro的…

Volatility2安装使用以及CTF比赛题目(复现)

Volatility2安装使用以及CTF比赛题目&#xff08;复现&#xff09; 一 、简介二 、安装Volatility三 、安装插件四 、工具介绍五 、使用方法1.系统基本信息&#xff08;imageinfo&#xff09;2. 用户名密码信息&#xff08;hashdump&#xff09;3. 查看进程或隐藏或解链的进程&…

2021 河北取证比武决赛个人赛 题解 入侵溯源

个人赛 个人赛容器密码 BDH sha256全大写 A94686C845696F88525BB9E74FD7F5D38B6C12F7DDC7E5288C2F2D2201151F47 括号内表示该答案也可得分。26-30题每题4分&#xff0c;其余题目每题2分。 服务器部分 2021年5月 (对时间要敏感&#xff0c;做题时要摸清案情&#xff0c;摸清…

windows 用户的完美“瘦身”攻略

第一步就是开启 Administrator 帐户&#xff0c;先取得最高管理权限&#xff0c;方法&#xff1a; 右键桌面计算机--管理&#xff0c;本地用户和组--用户&#xff0c;右键 Administrator--属性&#xff0c;去除“帐户已禁用”前的勾&#xff0c;注销当前用户登录 Administrator…

在开源龙芯1c开发板上用opencv检测图片中网球并输出圆心坐标和半径

原意是想做一个捡网球的机器人&#xff0c;识别网球就是必须的。项目地址http://git.oschina.net/caogos/OpenLoongsonPickUpTennisRobot 参考了 http://www.pyimagesearch.com/2015/09/14/ball-tracking-with-opencv/ 主要思路 用cvtColor()将图像转换到HSV颜色空间&#…

【NDN IoT】Challenges in IoT Networking via TCP/IP Architecture 全文翻译

Challenges in IoT Networking via TCP/IP Architecture 在TCP/IP体系结构下物联网络存在的挑战 Wentao Shang Yingdi Yu UCLA UCLA Los Angeles, CA Los Angeles, CA wentaocs.ucla.edu yingdics.…