响应式布局

响应式

定义

利用一套代码实现页面的布局和排版以适配不同分辨率的设备

视口宽度与设备宽度

  • width
  • device-width 设备屏幕宽度

viewport视口

步骤

Step1

<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name='viewport' content="width=device-width, minium-scale=1.0, maximun-scale=1.0, user-scale=no">

Step2

@media

  • min-width
  • max-width
  • min-height
  • max-height
  • orientation=portrait
  • orientation=landscape

媒介查询

  • 小屏幕 <=768px
  • 平板 >=769px
  • 中等屏幕 >=1024px
  • 大屏幕 >=1200px
<!--用法1-->
<link rel="stylesheet" media="(max-width:640px)" href="max-640.css">


<!--用法2-->
<style>
    @media (max-width:768px){
        //Code
    }
</style>

CSS单位

px

一个px相当于1个像素

em

相对的长度单位。em相对参照物为父元素的font-size,em具有继承的特点 1em = 16px

rem

参照物为根元素的html,相于参照物固定不变,所以比较好计算 1rem = 16px

font-size:62.5% 1rem = 10px;

font-size:100% 1rem = 16px;

font-size:10px;

vh

可视范围的高度

vw

可视范围的宽度

布局

  • 一个容器里面放三个盒子
  • 设置两侧盒子宽度固定
  • 中间盒子宽度100% 和最小宽度 防止缩小后变形
  • 设置中间盒子padding等于两侧盒子的宽度
  • 让三个盒子在同一个方向浮动
  • 设置左边盒子margin-left:-100%;
  • 设置右边盒子margin-left:-自身的宽度

圣杯布局

*{
    margin: 0;
    padding: 0;
    list-style:none;
}
.container{
    min-width: 400px;
    height: 200px;
    background: red;
    padding:0 200px;

}
.left,.right{
    width: 200px;
    height: 200px;
    background: pink;
    float: left;
}
.main {
    width: 100%;
    height: 200px;
    background: blue;
    float: left;
}
.left{
    margin-left:-100%;
    position: relative;
    left: -200px;
}
.right{
    margin-left: -200px;/*-自己的宽度*/
    position: relative;
    right: -200px;
}

双飞翼布局

内容区域多了一个盒子

盒子设置margin:0 200px给两边腾出位置

<style>
    *{
        margin: 0;
        padding: 0;
    }
    .container{
        min-width: 400px;
        height: 200px;
        background: green;
    }
    .left,.right{
        width: 200px;
        height: 200px;
        background-color:pink;
        float: left;
    }
    .main{
        width: 100%;
        height: 200px;
        background-color: blue;
        float: left;
    }
    .main-content{
        margin:0 200px;
    }
    .left{
        margin-left: -100%;
    }
    .right{
        margin-left: -200px;
    }
</style>

<div class="container">
    <div class="main">
        <div class="main-content">中间</div>
    </div>
    <div class="left">左边</div>
    <div class="right">右边</div>
</div>

  转载请注明: linis 响应式布局

 上一篇
CSS框架-Bulma CSS框架-Bulma
Bulma官网 宽度断点 mobile 小于等于768px tablet 大于等于769px desktop 大于等于1024px widescreen 大于等于1216px fullhd 大于等于1408px 基本用法<link
2019-04-20
下一篇 
Java-集合 Java-集合
集合数组的长度是固定的,操作数据很麻烦,java内部给我们提供了集合类用来存放数据的一个容器。不仅可以存储对象,长度可改变 集合类 它的长度可以改变 能存储任意的对象 长度是随着你元素的增加而增加 数组和集合区别? 数组可以存基本数据
2019-04-20
  目录