ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-05-23

2021-05-23 15:29:19  阅读:143  来源: 互联网

标签:布局 width 23 05 视图 响应 2021 media 页面


(响应式布局)如何使页面在缩放的过程中不变形

今天在改造一个前端页面时,发现页面视图在pc端显示的好好的,一旦缩小页面或者打开开发者工具,进入移动端视图时,页面就会发生严重的变形。
导致观看效果特别不好,一开始我以为是我编写的代码有问题。
后来查阅资料才知道,要想使页面在缩放的过程中不变形。
可以使用响应式布局的方式。

什么是响应式布局?

响应式布局(Responsive design),意在实现不同屏幕分辨率的终端上浏览网页的不同展示方式。通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验。

响应式布局等于流动网格布局,而自适应布局等于使用固定分割点来进行布局。
自适应布局给了你更多设计的空间,因为你只用考虑几种不同的状态。
而在响应式布局中你却得考虑上百种不同的状态。
虽然绝大部分状态差异较小,但仍然也算做差异。
它使得把握设计最终效果变得更难,同样让响应式布局更加的难以测试和预测。
但同时说难,这也算是响应式布局美的所在。
在考虑到表层级别不确定因素的过程中,你也会因此更好的掌握一些基础知识。
当然,要做到精确到像素级别的去预测设943*684像素视区里的样子是很难的。
但是你至少可以很轻松的确定它是能够正常工作的,因为页面的基本特性和布局结构都是根据语义结构来部署的。

响应式设计的步骤:

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

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

注意:user-scalable = no 属性能够解决 iPad 切换横屏之后触摸才能回到具体尺寸的问题。

2. 通过媒介查询来设置样式 Media Queries
Media Queries 是响应式设计的核心。

它根据条件告诉浏览器如何为指定视图宽度渲染页面。假如一个终端的分辨率小于 980px,那么可以这样写:

//code from http://caibaojian.com/356.html
@media screen and (max-width: 980px) {
  #head { … }
  #content { … }
  #footer { … }
}

这里的样式就会覆盖上面已经定义好的样式。

3. 设置多种试图宽度
假如我们要设定兼容 iPad 和 iphone 的视图,那么可以这样设置:

/** iPad **/
@media only screen and (min-width: 768px) and (max-width: 1024px) {}
/** iPhone **/
@media only screen and (min-width: 320px) and (max-width: 767px) {}

下面是一个关于响应式布局的简单实例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <style>
    .a {
      border: 1px solid #000000;
      width: 100px;
      height: 100px;
      background-color: #000000;
    }
    @media only screen and (min-width: 300px) and (max-width: 640px) {
      .a {
        background-color: red;
      }
    }
    @media only screen and (min-width: 700px) {
      .a {
        background-color: green;
      }
    }
    @media only screen and (max-width:200px) {
      .a {
        background-color: blue;
      }
    }
  </style>
</head>
<body>
  <div class="a"></div>
</body>
</html>

注意,如果想要进行响应式布局。
那么需要将@media后的代码写在下面,这样在执行的过程中,下面的代码才可以覆盖上面的代码。
不然有可能会出现代码不生效的问题。

标签:布局,width,23,05,视图,响应,2021,media,页面
来源: https://blog.csdn.net/peri_zxy/article/details/117195558

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有