响应式设计
  .在不同设备上正常使用
  .一般主要处理屏幕大小问题
  .主要方法:
    .隐藏 + 折行 + 自适应空间
    .rem/viewport/media query
第一个案例
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
  </head>
  <style>
    .container{
      margin: 0 auto;
      max-width: 800px;
      display: flex;
      border: 1px solid black;
    }
    .left{
      width: 200px;
      background: red;
      margin: 5px;
    }
    @media (max-width:640px) {
      .left{
        display: none;
      }
    }
    .right{
      flex: 1;
      background: blue;
      margin: 5px;
    }
  </style>
<body>
  <div class="container">
    <div class="left">
      这是一些不重要的内容,比如友情链接、广告
    </div>
    <div class="right">
      这里是一些重要的内容,比如一篇文章,文章是整个核心内容。
      这里是一些重要的内容,比如一篇文章,文章是整个核心内容。
    </div>
  </div>
</body>
</html>

head里面有一句viewport(第三点)。这个viewport的含义是什么呢,这里面有一个width=device-width。就是说我们可视区域大小就等于屏幕大小。否者手机端,比如iphone上面会默认页面宽度是980。所以一点点屏幕要显示980的内容,内容就会被缩小很多。这个案例也同时看到media query是怎么使用的。

第二个案例
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
  </head>
  <style>
    .container{
      margin: 0 auto;
      max-width: 800px;
      border: 1px solid black;
    }
    .intro{
      display: inline-block;
      width: 180px;
      height: 180px;
      line-height: 180px;
      text-align: center;
      border-radius: 90px;
      border: 1px solid red;
      margin: 7px;
    }
    @media(max-width:640px){
      .intro{
        margin: 7px auto;
        display: block;
      }
    }
  </style>
<body>
  <div class="container">
    <div class="intro">介绍1</div>
    <div class="intro">介绍2</div>
    <div class="intro">介绍3</div>
    <div class="intro">介绍4</div>
  </div>
</body>
</html>

这个案例就是折行的方式自适应。但是我们注意到另外一个问题,就是屏幕大小不管多大,我们的文字和圆圈都是那么大,当屏幕小的时候,会挤压空白区域,文字和圈圈的占比就会变大。可不可以采用等比例的方式呢。这种是可以的。

首先一种是media query。比如demo1,已经讲过了
另外一种就是改变viewport的值。width=320。这样iphone5就是320。其它的都以320为基准。比如切到iphone6就放大了。
第三种使用rem的方式
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
  </head>
  <style>
    html{
      font-size: 20px;
    }
    .container{
      margin: 0 auto;
      max-width: 800px;
      border: 1px solid black;
    }
    .intro{
      display: inline-block;
      width: 9rem;
      height: 9rem;
      line-height: 9rem;
      text-align: center;
      border-radius: 4.5rem;
      border: 1px solid red;
      margin: 0.3rem;
    }
    @media (max-width: 375px) {
      html{
        font-size: 24px;
      }
    }
    @media (max-width: 320px) {
      html{
        font-size: 20px;
      }
    }
    @media(max-width:640px){
      .intro{
        margin: 0.3rem auto;
        display: block;
      }
    }
</style>
<body>
  <div class="container">
    <div class="intro">介绍1</div>
    <div class="intro">介绍2</div>
    <div class="intro">介绍3</div>
    <div class="intro">介绍4</div>
  </div>
</body>
</html>

rem的方式是基于html里面的font-size进行计算。这里是1rem=20px。那么之前的180px就是2rem。90px就是4.5rem。那么针对不同屏幕,我们可以改变font-size的基准达到字体大小的变化。这里要注意大屏的要放上面,小屏的放下面。不然按覆盖原则始终用的是下面的。第二个要注意的是rem是不精确的,在换算的过程中可能存在小数,是除不尽的。所以对于精确度要缺十分高的屏幕,不要使用rem布局

第四种js计算

css布局-响应式布局的更多相关文章

  1. Responsive Web CSS – 在线响应式布局创建器

    如果您已经使用了 CSS 或前端框架,创建响应式布局应该不难. 然而,如果你刚涉足这类布局,Responsive Web CSS 可以帮助你快速上手. 这是一个基于 Web 的工具,使任何人都可以通过 ...

  2. CSS实现响应式布局

    用CSS实现响应式布局 响应式布局感觉很高大上,很难,但实际上只用CSS也能实现响应式布局要用的就是CSS中的没接查询,下面就介绍一下怎么运用: 使用@media 的三种方法 1.直接在CSS文件中使 ...

  3. flex布局 响应式布局

    移动端页面开发流程   移动端页面布局 一.移动端app分类 1.Native App原生app手机应用程序 使用原生的语言开发的手机应用,Android系统用的是java,ios系统用的是objec ...

  4. 用CSS实现响应式布局

    响应式网页看起来高大上,但实际上,不用JS只用CSS也能实现响应式网站的布局 要用到的就是CSS中的媒体查询下面来简单介绍一下怎么运用 使用@media 的三种方式 第一: 直接在CSS文件中使用 @ ...

  5. css实现响应式布局的相关内容

    所以我就在做自适应的时候查了一些资料 首先我发现一个问题:有响应式布局和自适应布局两种布局效果 简单来说,响应式布局就是不同的设备无论大小 布局都自动调整大小 页面布局都一样 可以保证无论什么设备 用 ...

  6. 【css】响应式布局入门【转】

    最近研究响应式设计框架的时候,发现网上很多相关的属性介绍,却很少有系统的入门级使用的文章,我自己整理了一篇入门知识,并没有什么高深的理论,也不牵扯到框架. 目前已经越来越多的站点以及wap站点使用响应 ...

  7. CSS的响应式布局

    响应式布局是什么 它是相对于固定像素大小的网页而言的,顾名思义,响应式布局就是网页能够响应各种各样不同分辨率大小的设备,能够将网页很好的呈献给用户. 如何实现响应式布局? 1.CSS3@media查询 ...

  8. css的响应式布局和动画

    把响应式布局和动画放在一起写是因为他们有个共同点@符号 先讲讲响应式布局@media 响应式布局==曾经==非常的流行,这种布局方式可以做出一也兼容一切设备的页面,但是当页面的功能越来越多,css文件 ...

  9. CSS实现响应式布局(自动拆分几列)

    1.css代码 <style type="text/css"> .container{ margin-top: 10px; } .outerDiv{ float:lef ...

  10. Css布局 响应式布局介绍

    1. 概念: 写一套css样式可以同时适配多个终端,是为解决移动互联网诞生的. 2. 作用: 面对不同的分辨率设备灵活性强,能够快捷解决多设备显示适应问题 3. 原理 媒体查询 ① 外联式媒体查询语法 ...

随机推荐

  1. Xtts v4变化&先决条件&已知问题

    V4变化的主要有:     1.这个采购使用简化的命令.源的一个命令(--backup)和目标的一个命令(--restore). 2.此过程只需要在源和目标的$ TMPDIR(res.txt)之间复制 ...

  2. 写些最近两个学安卓的笔记-关于Toast

    1.Toast可以在Activity和service里使用,在Service里使用时,Toast是显示在当前的Activity上. 2.Toast出现时,当前的Activity依然可见可交互. 3.T ...

  3. cloudera manager的7180 web界面访问不了的解决办法(图文详解)

    说在前面的话 我的机器是总共4台,分别为ubuntucmbigdata1.ubuntucmbigdata2.ubuntucmbigdata3和ubuntucmbigdata4.(注意啦,以下是针对Ub ...

  4. git使用问题及解决方法

    1. 设置pull默认rebasegit config --global pull.rebase true 2. 问题解决:Unlink of file '.git/objects/pack/pack ...

  5. 最强json解析工具

    [原]http://blog.csdn.net/xiaoguomumu/article/details/75255629 感觉上面的链接所说,需要传一个T进去,也就是先要构造T,感觉麻烦 可以不这样做 ...

  6. Js内存泄漏的几种情况

    想解决内存泄露问题,必须知道什么是内存泄露,什么情况下出现内存泄露,才能在遇到问题时,逐个排除.这里只讨论那些不经意间的内存泄露. 一.什么是内存泄露 内存泄露是指一块被分配的内存既不能使用,又不能回 ...

  7. [shell基础]——echo命令

    echo命令:在shell中主要用于输出 1. -n     不换行的显示结果(默认是换行的) 2. -e " "  支持双引号中使用一些特殊字符 常用的特殊字符有 \a 发出警告 ...

  8. 经典算法详解(1)斐波那契数列的n项

    斐波那契数列是一个常识性的知识,它指的是这样的一个数列,它的第一项是1,第二项是1,后面每一项都是它前面两项的和,如:1,1,2,3,5,8,13,21,34,55,89,144,233…… 说明:由 ...

  9. bzoj 3716: [PA2014]Muzeum

    Description 吉丽的漫展有n件手办和m名警卫.建立平面直角坐标系,每个手办和警卫都可以看做一个点.警卫们的目光都朝着y轴负方向,且都有相同大小的视角.警卫可以看见自己视角内(包括边界上的点) ...

  10. MVC5 下拉框绑定(单选)

    1.Model [Display(Name = "学历")] public ICollection<System.Web.Mvc.SelectListItem> asd ...