• 2021-01-12
    我本来还看了一些网页设计的课程,本来想找里面的一部分内容来着,结果怎么也找不到当时的笔记了,唉怪我自己没收好,生气

一、使用框架实现响应式

做响应式最简单方便的就是用现成的框架或者UI库,常见的有Bootstrap、ElementUI、LayUI等等,这里拿Bootstrap来举例:

1. 栅格系统

大部分框架都有栅格系统,我们可以根据这个直接来规定不同设备上的布局,省去了很多手写的麻烦。

超小屏幕 手机 (<768px) 小屏幕 平板 (≥768px) 中等屏幕 桌面显示器 (≥992px) 大屏幕 大桌面显示器 (≥1200px)
类前缀 .col-xs- .col-sm- .col-md- .col-lg-
最大列(column)宽 自动 ~62px ~81px ~97px

Bootstrap把每一行分成12列,使用的时候在类名上加上我们想要的行宽,系统就可以自动分配了。

<div class="row"><div class="col-xs-12 col-md-4">1</div><div class="col-xs-12 col-md-4">2</div><div class="col-xs-12 col-md-4">3</div>
</div>

这部分的代码在手机上是一列展示的,在电脑上就是三列展示的。

2. 响应式工具

除了栅格系统,Bootstrap 自带的响应式工具也可以帮助我们快速的搭建响应式页面。

可以通过单独或联合使用以下列出的类,可以针对不同屏幕尺寸隐藏或显示页面内容。

超小屏幕 手机 (<768px) 小屏幕 平板 (≥768px) 中等屏幕 桌面 (≥992px) 大屏幕 桌面 (≥1200px)
.visible-xs-* 可见 隐藏 隐藏 隐藏
.visible-sm-* 隐藏 可见 隐藏 隐藏
.visible-md-* 隐藏 隐藏 可见 隐藏
.visible-lg-* 隐藏 隐藏 隐藏 可见
.hidden-xs-* 隐藏 可见 可见 可见
.hidden-sm-* 可见 隐藏 可见 可见
.hidden-md-* 可见 可见 隐藏 可见
.hidden-lg-* 可见 可见 可见 隐藏

用法类似栅格系统,添加对应的类名就可以了,可以控制在不同页面中的页面布局。

二、手写CSS实现响应式

其实我个人用CSS手写的方法比较多,因为在不同设备下,每个内容块的展示方式、布局或者大小可能都是不一样的,栅格系统能够帮我们更改布局,但是更多的比如字体大小这种样式还是要我们重新设置的,手写的话可以一边设置布局,一边就把样式也完成了。

1. 媒体查询(@media)

想要手写响应式页面,最最基础的当然是媒体查询。

有很多媒体类型都已经被废弃不用了,我个人比较常用的是这两个:

  • max-width:最大宽度。
  • min-width:最小宽度。
body {background-color: red;
}
@media screen and (max-width: 768px) {body {background-color: green;}
}

在屏幕宽度小于 768px 时,body 是绿色,不然就是红色。

要注意,先写通用样式,然后从小往大写。
因为小屏幕的样式比较少,如果先写大屏幕样式,有了浮动或者定位,要清除起来就比较麻烦。

2. 设置 Meta 标签

大多数移动浏览器将HTML页面放大为宽的视图(viewport)以符合屏幕分辨率。
你可以使用视图的meta标签来进行重置。下面的视图标签告诉浏览器,使用设备的宽度作为视图宽度并禁止初始的缩放。
在< head>标签里加入这个 meta 标签。

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

3. 宽度设置

元素的宽度用百分比(%)或者 vw、vh 这个不用我多说了吧~
不光响应式,普通PC页面肯定也是要这样设置的。

另外,可以给元素设置最大宽度(wax-width)和最小宽度(min-width)控制缩放量。
比如这个页面的主体内容我希望他占页面的60%,但是最小也不要低于1000px:

.main{width: 60%;min-width: 1000px;
}

4. 计算尺寸

计算尺寸可能对于响应式来说没那么友好,因为一个元素的宽度我想要跟页面保持一致(100%),但是两边的边距我又想固定(20px)。这个时候就可以利用盒模型来实现啦~

可以参考我之前写过的文章~
css盒子模型和样式更改: 点这里跳转。

关于响应式页面的几种处理方法相关推荐

  1. css考核点整理(十一)-响应式开发经验,响应式页面的三种核心技术是什么

    响应式开发经验,响应式页面的三种核心技术是什么 转载于:https://www.cnblogs.com/yingwo/p/4120389.html

  2. 跨终端响应式页面设计入门

    跨终端/响应式页面不外乎是让各种分辨率的屏幕都能顺利阅读你的页面,常规来讲一个跨终端页面,在宽屏的电脑上看和在小屏幕手机上看的布局是不同的,布局不同的原因是为了让读者更好地阅读你的页面,见下图: 这里 ...

  3. html5/css3响应式页面开发总结

    一,自适应和响应式的区别 自适应是一套模板适应所有终端,但每种设备上看到的版式是一样的,俗称宽度自适应. 响应式一套模板适应所有终端,但每种设备看到的版式可以是不一样的. 虽然响应式/自适应网页设计会 ...

  4. 软件测试基础 按照测试对象划分 界面测试(UI测试.响应式页面 可靠性测试 容错性测试 文档测试 平台测试 易用性测试等

    软件测试进阶 1.APP 的测试 2. 按照测试对象划分 2.1界面测试(UI测试) 3.响应式页面 4.可靠性测试 5.容错性测试 6.文档测试 7.平台测试: 7.1 PC: 7.2.手机端: 8 ...

  5. 移动端开发-响应式页面

    声明 现在开发中,响应式页面使用地会比较少.今天对我们来说,最大的收获是: 学会如何去使用前端 UI 框架. 媒体查询 Bootstrap 框架,学会怎么去用,而不是怎么去做东西,因为后面有更好的框架 ...

  6. html响应式页面源码,关于响应式页面

    1.页面头部的meta说明,可以通过viewport meta标签去让你的html页面的的宽度能根据设备分辨率让浏览器的可视宽度来适应,也可以在这里设置页面的缩放比例等等,这样在成比例的分辨率设备下, ...

  7. 什么是响应式布局?响应式布局有几种方法?

    目录 什么是响应式布局? 响应式布局的4种方法 媒体查询 百分比 vw/vh rem 什么是响应式布局? 响应式布局是同一页面在不同的屏幕上有不同的布局,即只需要一套代码使页面适应不同的屏幕 响应式布 ...

  8. 阿里百秀响应式页面制作

    文章目录 案例:阿里百秀移动端首页 一.技术选型 二.需求分析 1.页面布局分析 2.屏幕划分分析 三.页面制作 1.创建文件夹结构 2.创建html骨架结构 3.引入相关样式文件 4.书写内容 he ...

  9. python 全栈开发,Day57(响应式页面-@media介绍,jQuery补充,移动端单位介绍,Bootstrap学习)...

    昨日内容回顾 ajax //get post 两种方式 做 请求get 主要是获取数据 post 提交数据同一个路由地址 既可以是get请求也可以是post请求 一个路由对应一个函数get请求acce ...

最新文章

  1. ajax往CJJTable传值,jQuery+ajax怎么样实现动态数据分页
  2. PHP 实现一个可用的redis 事务锁, 解决并发问题
  3. hdu 2563(递推)
  4. 服务器遭受攻击后,这样排查处理不背锅!
  5. split函数python统计英文单词_统计一篇英文文章单词个数,取出出现频次前10的单词(Python实现)...
  6. 2019电子科大计算机基础知识,电子科技大学820真题1999-2019终极版.pdf
  7. 【李宏毅NLP笔记】Tacotron 可以从哪些方面改进
  8. 书单 | 月度畅销好书,助你技能满格,摆脱低效,走向财富人生
  9. 如何安装一个优秀的BUG管理平台(转)
  10. 世界杯广告中出现汉字,不利于国际化
  11. vb杨辉三角代码编写_杨辉三角怎样用VB写杨辉三角的完整代码 – 手机爱问
  12. 城通网盘API的链接研究
  13. 计算机系的对联,轻松写对联 微软亚洲研究院推出电脑对联
  14. JSON、AJAX、Maven
  15. AutoJs学习-2048小游戏自动化
  16. matplotlib默认字体设置探索
  17. ArchLinux初次进入系统时触摸板可以移动鼠标但是无法点击的问题
  18. Seeding Service Secrets
  19. 可以播放音乐的微信小程序源码(仿Apple音乐)
  20. PHP 从菜鸟到大咖的踩坑之路

热门文章

  1. svn更新和提交项目报错: E200014: Checksum mismatch for
  2. uni-app应用内跳转至app-store
  3. python清华源 断流_ADSL断流/断线问题经典分析
  4. touch事件详解(touchstart、touchmove和touchend)
  5. 偏好:个人习惯的局限与反思
  6. Flutter --- Dart简介
  7. ubuntu无法apt_Ubuntu19.04更新软件源及系统更新时无法获得锁的处理
  8. 大型系统演进缩影(一)
  9. UG8.0塑胶模具设计全3D设计过程视频教程
  10. python12306抢票是什么鬼_Python12306的抢票功能