REM响应式布局

为什么么要响应式?

因为能兼容,手机、平板、PC终端既省钱又省力;

有很多网站的解决办法是,为不同的设备提供不同的mobile版本,或者iPhone/iPad版本。这样效果有保证,但是比较麻烦,同时要维护好几个版本;

于是,“”“一次设计,普遍适用”,根据屏幕宽度,自动调整布局(layout)

第一步: meta:vp标签

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

上面代码的意思是。

viewport是网页默认的宽度高度

 content="width=device-width 网页宽度默认屏幕宽度 user-scalable=no,(禁止缩放) initial-scale=1.0,(原始缩放比例) maximum-scale=1.0, minimum-scale=1.0"(最大最小缩放比例)

所有主流都支持,对于IE6-8适用

 <!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
  <![endif]-->

第二部:不使用绝对宽度

由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度,也不能使用具有绝对宽度的元素。(重点)

第三部:相对大小字体

使用rem,em对字体进行设置;

rem相对根元素中的fontSize

html{
   font-size:100px;  //设置根元素上的100px=1rem;
}
p{
   width:1rem;       //100px
}

em,相对上级元素

html{
      font-size: 100%;  //默认是浏览器默认16px=1em||rem
  }
h1{
         font-size: 1em; //1em=16px
     }
  p{
            font-size: 2em;  //2em=32px
            margin-top: 1em;//你以为是16px,搓搓,此时1em=32px;被自己重置了
        }

怎么选择em,rem???

如果这个元素有其他属性与自身字体有关联,使用em,剩余使用rem

例子

  html{
      font-size: 100%;  //1rem||em=16px
  }
  .tit{
      font-size: 1em;       //=16px
      padding: 1em;         //=16px
  }
  .titH1{
            font-size: 1em;  //1em=16px
        }
  .titH2{
      font-size: 2em;       //2em=32px=>1em=32px  所以 padding:32px
  }
  .titH3{
      font-size: 3em;       //3em=48px=>1em=>48px  所以padding:48px
  }
<h1 class="tit titH1">我是H1</h1>
<h2 class="tit titH2">我是H2</h2>
<h2 class="tit titH3">我是H3</h2>

所有这个元素中与em相关的尺寸全部改变;

rem则任何尺寸都不进行改变

  html{
      font-size: 100%;//1rem=16px
  }
  .tit{
      font-size: 1rem; //1rem=16px
      padding: 1rem;  //16px
  }
  .titH1{
            font-size: 1rem; //16px
        }
  .titH2{
      font-size: 2rem;  //16px  padding=16px
  }
  .titH3{
      font-size: 3rem;   16px   padding=16px
  }

第四部:流动布局

 .main {
    float: right;
    width: 70%;
  }

  .leftBar {
    float: left;
    width: 25%;
  }

装不下会自动跑到下面去,绝对定位的使用一定要小心;

第五部:css加载media

<link rel="stylesheet" type="text/css"
    media="screen and (max-device-width: 400px)"
    href="tinyScreen.css" />
//上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。

 <link rel="stylesheet" type="text/css"
    media="screen and (min-width: 400px) and (max-device-width: 600px)"
    href="smallScreen.css" />
//如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。

第六部:媒体查询media

@media screen and (max-device-width: 400px) {

    .column {
      float: none;
      width:auto;
    }

    #sidebar {
      display:none;
    }

  }
//如果屏幕宽度小于400像素,则column块取消浮动(float:none)、宽度自动调节

第七部:图片响应式

  img { max-width: 100%;}
//老版本IE使用
  img { width: 100%; }

不过,有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。太累了,没条件;

转紫阮一峰响应式布局

原文地址:https://www.cnblogs.com/liangfc/p/9123786.html

时间: 2024-10-05 08:43:53

REM响应式布局的相关文章

rem+js响应式布局的设置

直接调用代码即可,不过不同屏幕宽度要求会不同,相应修改一下就ok了 // rem响应式布局 (function(){ var html=document.querySelector('html') html.style.fontSize=window.innerWidth/7.5+'px' window.onresize=function(e){ html.style.fontSize=window.innerWidth/7.5+'px' } })() 原文地址:https://www.cnbl

响应式布局-Rem的用法

响应式布局-Rem的用法 前言: 文章较为系统地介绍了rem这个新的文字大小单位,绝对干货,绝对好文.转载时略有改动. 先来看看一些基本理念,比如: 响应式网页不仅仅是响应不同类型的设备,而且需要响应不同的用户需求.响应式的初衷是为了让信息更好的传递交流,让所有人无障碍的获取信息,同时这也是 Web 的初衷. 同样的,响应式的设计应该秉承「内容优先,移动优先」的设计原则,那么我们知道网页中的内容主要是由文字图片等元素组成的,那么文字该如何响应式呢? 当我们每天面对缤纷的互联网世界的时候,文字不仅

自适应和响应式布局的区别,em与rem

自适应布局:不同终端上显示的文字,图片,等位置排版都是一样的,只是大小不同. 响应式布局:通过媒体查询监听屏幕大小的变化,做出响应式的改变,在不同设备可能展现不同的样式效果. em:是相对其父元素的. rem:相对于页面根元素,推荐使用rem. 原文地址:https://www.cnblogs.com/ZM-ONE/p/8969046.html

响应式布局之 px、em、 rem

一.写在前面的话 作为一面前端开发者,对 px .em . rem 应该是再熟悉不过了,但大多数小伙伴应该都和我一样仅仅停留在了解的层面,并不是实质性的掌握它们.本文对三者进行了详细的总结和详细说明,不熟悉的各位小伙伴阅读本文一定会有所收获,如果你对这三者已经了解的非常透彻,那本文可能对你的帮助不大. 二.简述 px.em.rem都是计量单位,都能表示尺寸,但是有有所不同,而且其各有各的优缺点. 三.PX (pixel) Px 表示“绝对尺寸”(并非真正的绝对),实际上就是css中定义的像素(此

响应式布局中的CSS相对量

一个响应式布局,要能够根据设备屏幕尺寸的改变,动态的调整页面内容,展现不同的设计风格.在进行响应式的 CSS 代码编写过程中,经常会用到一些相对尺寸,以达到相对定位的目的.例如,常见的响应式布局中需要用到"自适应的图片"."流动布局"等技术. 体现在 CSS 代码编写上,就需要前端开发人员精准掌握特定属性的相对量表示方法.然而,其中一些相对量的计算方法很容易混淆. 本文在完整梳理全部 CSS 属性基础上,将其中的"相对单位.百分比相对量.数字相对量&quo

html5 响应式布局

响应式布局 第一:正确理解响应式布局 响应式网页设计就是一个网站能够兼容多个终端-而不是为每个终端做一个特定的版本.打个比方来说:现在社会有很多响应产品,例如折叠沙发,折叠床等等,当我们需要把沙发放到一个角落的时候,此刻沙发就好比div吧,而角落里的某个地方就好比父元素,由于父元素空间的改变,我们不得不调整div,让它能够依然放在角落里.在项目中你会遇到不同的终端,由于终端分辨率不同,所以你要想让用户体验更好,就必要让你的页面能够兼容多个终端. 第二:响应式设计的步骤 响应式设计的步骤就是1.编

到底什么是响应式布局

做移动端的前端,接到的需求中肯定离不开响应式布局,那么到底什么是响应式布局,其实现的原理在哪,我个人的看法如下: 1.目的:在项目中你会遇到不同的终端,由于终端分辨率不同,所以你要想让用户体验更好,就必要让你的页面能够适配多个终端 2.由于响应式布局多是针对移动端,所以首先要在<head>标签中添加下面这行代码: <meta name="viewport" content="width=device-width, initial-scale=1.0, use

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

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

响应式布局的开发基础

第一:正确理解响应式布局 响应式网页设计就是一个网站能够兼容多个终端-而不是为每个终端做一个特定的版本.打个比方来说:现在社会有很多响应产品,例如折叠沙发,折叠床等等,当我们需要把沙发放到一个角落的时候,此刻沙发就好比div吧,而角落里的某个地方就好比父元素,由于父元素空间的改变,我们不得不调整div,让它能够依然放在角落里.在项目中你会遇到不同的终端,由于终端分辨率不同,所以你要想让用户体验更好,就必要让你的页面能够兼容多个终端. 第二:响应式设计的步骤 了解了什么是响应式,那么接下来我们就要