如何实现自适应页面 (响应式布局)

当我们在做网页时,应当充分考虑到网页自适应的问题

否则可能会出现同一个网页在不同的屏幕尺寸上排版布局混乱的情况

方案一:用比例控制大小

  1. 在网页代码的头部,加入一行viewport元标签

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    • 以下是相关的属性的解释:

      1. width:控制 viewport 的大小,可以指定的一个值,如 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)
      2. height:和 width 相对应,指定高度
      3. initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例,1.0就是占网页的100%
      4. maximum-scale:允许用户缩放到的最大比例
      5. minimum-scale:允许用户缩放到的最小比例
      6. user-scalable:用户是否可以手动缩放
  2. 用百分比去写元素的宽度,不要写绝对宽度
    .myDiv {
        width: 30%;
    }
    • 这里需要注意div宽度的计算方法,CSS盒式模型的宽度设置有两种模式:

      1. width = 内容宽度

        • 实际总宽度 = width + padding + border
        • 这种情况下设置了 width 后,内容宽度不变,而调整 padding 和 border 都会使得div的实际总宽度变化
      2. width = 实际总宽度
        • width = 内容宽度 + padding + border
        • 这种情况下设置了 width 后,div总宽度不变
    • 可以通过设置 css 的 box-sizing 属性来控制
      • content-box:width = 内容宽度 (默认)
      • border-box:width = 实际总宽度
  3. 让子元素撑起父元素的高度,而不要写绝对高度
    .parent {
        width: 30%;
    }
    .child {
        width:100%;
        height:100px;
    }
  4. 字体使用相对大小 "em"** 或 "rem" **
    h1 {
        font-size: 2rem;
    }
    • 浏览器默认字体为 16px ,2rem 即 2 * 16px = 32px
    • em(font size of the element)是指相对于父元素的字体大小的单位,如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸,因此 em 的大小并不是固定的
    • rem(font size of the root element)是指相对于根元素的字体大小的单位
      • 目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。

        h1 {
            font-size: 32px;
            font-size: 2rem;
        }
  5. 图片的大小也用百分比表示
    img {
        width: 100%;
    }
    • 也可以设置 max-width ,这样一来图片最大不会超过原始尺寸,避免图片由于放大而模糊

      img {
          max-width: 100%;
          width: auto;
      }

方案二:使用媒体查询 (CSS3 @media 查询)

当网页需要在移动端和PC端展示时,由于二者屏幕尺寸差别较大,可能需要用两种不同的布局才能更加友好地展示内容
此时可以使用媒体查询来检测屏幕(或浏览器窗口)的大小,然后采用相应的css样式来渲染页面

  • 举个例子,当浏览器窗口小于 500px 时,背景变为蓝色:

    @media only screen and (max-width: 500px) {
        body {
            background-color: lightblue;
        }
    }

原文地址:https://www.cnblogs.com/Lee-cappuccino/p/10890596.html

时间: 2024-11-06 07:21:48

如何实现自适应页面 (响应式布局)的相关文章

Bootstrap 手机屏幕自适应的响应式布局开关

head中添加 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">   https://getbootstrap.com/docs/4.0/getting-started/introduction/#css 原文地址:https://www.cnblogs.com/xfbx/p/9344690.html

简单的CSS3实现响应式布局

css3的@media属性实现页面响应式布局示例代码 <html><head> <style> * { margin:0; padding:0; } .ul { background-color:rgb(134, 170, 209); height: 55px; } .ul li { float:left; list-style: none; background-color:rgb(134, 170, 209); width: 20%; height: 100%; }

页面布局的几种方式(静态化布局,流式布局,自适应布局,响应式布局,弹性布局)

一.静态布局(static layout) 即传统Web设计,网页上的所有元素的尺寸一律使用px作为单位. 1.布局特点 不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示.常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景,这种设计常见于pc端. https://developers.google.com/search/mobile-sites/mobile-seo/respon

静态布局、自适应布局、流式布局、响应式布局、弹性布局简析

近期学习,有很多感想,有时候看似相近的概念,其实意义却不相同.所以学习要针对不同的名词有明确的区分意识. 抽空时间,打算学习下display:flex;本以为就是一个小小的知识点,正式去研究的时候,才发现display:flex;有很多内容,能实现很多效果.比如三栏布局(左右两栏固定,中间栏自适应),圣杯布局. 后来想着经常听到流式布局,自适应布局,响应式布局,他们有什么区别呢,就去搜了许多内容查看,才发现每种布局都有优缺点和不同使用场景. 静态布局:给页面元素设置固定的宽度和高度,单位用px,

自适应布局和响应式布局

记得第一次实际工作中接触到响应式布局排版之后,老大问了一个问题,自适应和响应式有什么区别吗? 自己理解的自适应布局是把宽度px值换成百分比,文字px单位换算成em单位,然后解决在不同大小设备上呈现同样的网页,但是这样屏幕过小,内容看上去就会很拥挤.觉得响应式听上去和自适应会差不多. 当时也不懂为什么同样的一个页面要设计3版风格(pc,pad,phone),觉得很麻烦,感觉不知道从何开始下手. 然后就接触到了下面这些内容: 1.meta标签的viewport属性 <meta name=”viewp

布局的几种方式(静态布局、自适应布局、流式布局、响应式布局、弹性布局)

一.静态布局(static layout) 即传统Web设计,网页上的所有元素的尺寸一律使用px作为单位. 1.布局特点 不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示.常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景,这种设计常见于pc端. 2.设计方法 PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查

响应式布局和自适应布局的不同

学了前端一段时间了,发现大家都搅浑了自适应布局和响应式布局的差别.现在我来和大家说下它们的不同: 自适应的体验   http://m.ctrip.com/html5/响应式的体验   http://segmentfault.com/ 整理了自己查阅的知识点,给各位一些提示. 起初,网页设计者都会涉及固定宽度的页面,最开始的电脑显示器分辨率种类不多,因为当时本来电脑就少,即使有变化也是800,850,870,880,比如开源中国的网页就是固定宽度为998来定制的,至于为啥是998,我也不知道...

关于静态布局、自适应布局、流式布局、响应式布局、弹性布局的一些概念

一.静态布局(Static Layout)即传统Web设计,网页上的所有元素的尺寸一律使用px作为单位. 1.布局特点:不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示.常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景,这种设计常见与pc端.2.设计方法: PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅

响应式布局和自适应布局

1.布局方式分类 1.1.固定布局 : 以px(像素)为单位. 缺点:① 页面死板,屏幕大小不一样,展示的效果不一样: ② 不适应响应性布局. 1.2.流式布局 : 以%(百分比)作为单位.百分比宽度 = 目标元素宽度 / 上下文元素宽度. 优点 : 可以自适应,根据不同的分辨率显示不同的宽度. 缺点 :行高.margin-top在大屏上显示的太高,在小屏上显示的太窄. 1.3.弹性布局 : 以em作为单位.百分比尺寸 = 目标元素尺寸 / 上下文元素尺寸.目前浏览器默认文字大小是16px,使用