前端移动端布局的俩种方式(单独制作移动端页面、响应式页面布局)

移动端

移动端布局有俩种方式

1.单独制作移动端页面

  • 流式布局(百分比布局)
  • flex弹性布局
  • less+rem+媒体查询布局
  • 混合布局

2.响应式页面布局

  • 媒体查询
  • bootstrap

body初始化

body {
    max-width: 540px;
    min-width: 320px;
    margin: 0 auto;
    color: black;
    overflow-x: hidden;
    -webkit-tap-highlight-color: transparent;
}
  • meta视口

    https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled.png

  • 移动端特殊样式

    -webkit-tap-highlight-color:transparent;//高亮颜色设置为透明
    -webkit-appearance:none;//ios加上本属性自定义button样式
    -webkit-touch-callout:none;//禁用长按页面弹出菜单
    
  • 流式布局

    宽度使用百分比使盒子适应父盒子大小

    width:100%;
    max-width:980px;//最大放大到980px
    min-width:320px;
    
  • flex布局

    常见父项属性

    display:flex;
    

    常见子属性

    flex:1;
    flex:20%;//当超过五个子盒子可给父盒子flex-wrap换行
    

    https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%201.png

    • flex-direction主轴方向

      子元素根据主轴排列,设置主轴后剩下的即为侧轴

      row-reverse盒子顺序54321

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%202.png

    • justify-content主轴排列

      使用前确定主轴方向

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%203.png

      flex-end盒子顺序12345

    • flex-wrap子元素换行

      flex-wrap:wrap;//父盒子装不下子元素时自动换行
      
    • align-items,align-content侧轴排列

      align-items单行下设置

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%204.png

      align-content侧轴felx-wrap换行后可设置,单行下无效

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%205.png

    • flex-flow复合属性

      flex-flow:row,wrap;//主轴方向及换行
      
    • align-self单个子盒子侧轴排列

      控制单个盒子在侧轴上的排列方式

      align-self:flex-end;
      
    • order盒子索引号改变

      第一子盒子默认索引号为0,设置order为-1即可让该盒子成为第一个子盒子

  • less+rem+媒体查询布局

    https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%206.png

    • rem

      设置html的页面文字大小,再通过子元素用rem控制

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%207.png

      em相对于父元素字体大小,1em为父盒子字体的px

    • 媒体查询

      @media screen and(min-width:540px) and(max-width:800px){
      
      }
      

      查询类型

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%208.png

      关键字

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%209.png

      媒体特性

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2010.png

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2011.png

    • less

      @color:pink;
      body{
      	background-color:@color;
      }
      

      变量命名规范:必须有@前缀,不包含特殊字符,不以数字开头,大小写敏感

      easy less插件自动编译新css文件

      • less嵌套

        less嵌套子元素样式直接写入父元素里

        https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2012.png

        嵌套a:hover

        https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2013.png

      • less运算

        https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2014.png

        运算符左右以空格隔开

        俩数运算单位不同以第一位单位为准,只有一个单位则以该单位为准

    另一种适配方式:flexible.js+rem

  • 响应式

    • 布局容器划分大小

      https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2015.png

      .container {
                  height: 100px;
                  margin: 0 auto;
              }
              
              @media screen and (max-width:767px) {
                  .container {
                      width: 100%;
                  }
              }
              
              @media screen and (min-width:768px) {
                  .container {
                      width: 750px;
                  }
              }
              
              @media screen and (min-width:992px) {
                  .container {
                      width: 970px;
                  }
              }
              
              @media screen and (min-width:1200px) {
                  .container {
                      width: 1170px;
                  }
              }
      
    • bootstrap

      • container类

        bootstrap媒体查询已经划分好了上述容器,名字叫做.container

      • 栅格系统

        栅格系统将页面划分成12等份,行(row),列(column)

        https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2016.png

        例如:行(row)盒子内,每个盒子占三份,四个盒子共十二份

        https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2017.png

        如果占的份数<12则留有空白,份数>12则换行

        https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2018.png

        列嵌套最好row套row,可以自动消除父亲的padding,而且高度自动和父亲一样高

        列偏移:

        class="col-md-offset-4"4代表偏移的份数
        

        列排序:

        class="col-md-push-4"
        class="col-md-pull-4"
        

        响应式工具:

        https://gitee.com/onlytonight/csdn-note-image/raw/master/%E7%A7%BB%E5%8A%A8%E7%AB%AF/%E7%A7%BB%E5%8A%A8%E7%AB%AF%20c773d819e3af4dfb9210f1b41498483b/Untitled%2019.png

        与之相反的有visible-xs等等

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-15 06:08:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-15 06:08:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-15 06:08:01       87 阅读
  4. Python语言-面向对象

    2024-04-15 06:08:01       96 阅读

热门阅读

  1. 深度学习开源标注工具

    2024-04-15 06:08:01       39 阅读
  2. 目标检测与图像分类的区别(概念)

    2024-04-15 06:08:01       40 阅读
  3. 单调栈和单调队列所学的一些问题

    2024-04-15 06:08:01       43 阅读
  4. 长短期记忆网络 – Long short-term memory | LSTM

    2024-04-15 06:08:01       36 阅读