移动端布局

2020-11-10  本文已影响0人  安掌门dear

一、学习使我快乐

笔记来自拉勾教育大前端,说真的,对于培训机构我起初报有的信心不是很大,包括以前也报过,但是都因为各种原因半途而费了,偶然的机会接触到拉勾教育,从开始的期待一直到现在第一模块结束,才感觉自己是真的学到了东西。既然可以通过努力去改变自己,那有什么不努力的原因呢,加油吧,打工人!

二、移动端开发基础

移动端调试方法

视口

布局视口

视觉视口

理想视口(推荐)

width: 宽度设置的是viewport,可以设置device-width特殊值
initial-scale: 初始缩放比,大于0的数字
maximum-scale: 最大缩放比,大于0的数字
minimum-scale:最小缩放比,大于0的数字
user-scalable:用户是否可以缩放
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">

物理像素&物理像素比

特殊样式

css3盒子模型
box-sizing:border-box;
-webkit-box-sizing:border-box;
/* 点击高亮我们需要清除样式 */
*{
  -webkit-tap-highlight-color: transparent;
}
/* 在移动端浏览器默认的外观在ios加上这个属性才能给按钮和输入框自定义样式 */
input{
  -webit-appearance: none;
}
/* 禁用长按页面时弹出菜单 */
img,a{
  -webit-touch-callout:none;
}

移动端技术选型

  1. 单独制作移动端页面(主流)
  1. 响应式页面兼容移动端
  1. 国内的手机浏览器都是根据webkit修改过来的内裤,国内尚无自主研发的内核,就像手机操作系统都是基于Android修改开发一样的

移动端技术解决方案

流式布局也称百分比布局

常用初始化样式

body {
  margin: 0 auto;
  min-width: 320px;
  max-width: 540px;
  background: #fff;
  font-size: 14px;
  font-family: -apple-system, Helvetica, sans-serif;
  line-height: 1.5;
  color: #666;
}

css渐变效果

background-image: linear-gradient(0deg,#f1503b,#c82519 50%);

图片格式DPG

响应式布局容器

移动端规范布局

/* 初始化样式 */
body {
    max-width: 540px;
    min-width: 320px;
    margin: 0 auto;
    font: normal 14px/1.5 Tahoma,"Lucida Grande",Verdana,"Microsoft Yahei",STXihei,hei;
    color: #000;
    background: #f2f2f2;
    overflow-x: hidden;
    -webkit-tap-highlight-color: transparent;
}
ul,li {
  list-style: none;
  padding: 0;
  margin: 0;
}
a {
  color: #222;
  text-decoration: none;
}
h1,h2,h3,h4,h5,h5 {
  margin: 0;
  padding: 0;
}
/*点击高亮我们需要清除清除 设置为transparent 完成透明*/
*{
  -webkit-tap-highlight-color: transparent;
}
/*在移动端浏览器默认的外观在iOS上加上这个属性才能给按钮和输入框自定义样式*/
input{
  -webkit-appearance: none;
}
/*禁用长按页面时的弹出菜单*/
img,a { -webkit-touch-callout: none; }

flex布局

flex布局父项常见属性

flex-direction 设置主轴方向

属性值 说明
row 默认从左到右
row-reverse 从右到左
column 从上到下
column-reverse 从下到上

justify-content 主轴上元素排列方式

属性值 说明
flex-start 默认从左到右
flex-end 从尾部开始排列
center 在主轴居中对齐
space-around 平分剩余空间
space-between 先两边贴边,再平分剩余空间

flex-wrap 设置子元素是否换行

属性值 说明
nowrap 默认值,不换行
wrap 换行

align-items 侧轴上子元素排列方式(单行)

属性值 说明
flex-start 默认从上到下
flex-end 从下到上
center 垂直居中
stretch 拉伸

align-content 侧轴上子元素排列方式(多行)

属性值 说明
flex-start 在侧轴头部开始排列
flex-end 在侧轴尾部开始排列
center 在侧轴中间显示
space-around 子项在侧轴平分剩余空间
space-between 子项在侧轴先分布两头,再平分剩余空间
stretch 设置子元素高度平分父元素高度

flex-flow

flex 布局子项常见属性

flex属性

align-self 控制子项自己在侧轴上的排列方式

order排序

rem布局

媒体查询

  @media mediatype and|not|onle (media feature) {
 CSS-Code 
}

mediatype

关键字

媒体查询+rem实现元素动态大小变化

<link rel="stylesheet" href="styleA.css" media="screen and (min-width: 400px)">

Less

Less安装

Less编译

简介高效的rem适配方案flexible.js

vscode px 转换rem插件 :cssrem

上一篇下一篇

猜你喜欢

热点阅读