文章目录 


  • 一、写移动端所具备的基础知识:伸缩布局
  • 二、rem和px之间的转换和方式、媒体查询
  • 1.rem和em
  • 2、less
  • 3、less的使用
  • 4、rem的适配
  • 5、媒体查询
  • 三、响应式布局



前言

随着前端行业的发展,现在在市场上写手机端移动端的情况比较多


提示:以下是本篇文章正文内容,下面案例可供参考

1、写移动端所具备的基础知识:伸缩布局

写移动端伸缩布局的知识是必须掌握的,总结来说:就是通过给父盒子添加flex属性,来控制子盒子的位置和排列方式

首先要掌握的:父项的常见属性

  • flex-direction:设置主轴的方向
  • justify-content:设置主轴上的子元素排列方式
  • flex-wrap:设置子元素是否换行
  • align-content:设置侧轴上的子元素的排列方式(多行)
  • align-items:设置侧轴上的子元素排列方式(单行)
  • flex-flow:复合属性,相当于同时设置了 flex-direction和flex-wrap(不建议初学者使用)

flex-direction:设置主轴的方向

  • row :默认从左到右
  • row-reverse:从右到左
  • column:从上到下
  • column-reversr:从下到上

justify-content:设置主轴上的子元素排列方式

  • flex-start:默认从头部开始 如果主轴是x轴,则从左到右
  • flex-end:从尾部开始排列
  • center:从主轴居中对齐
  • space-around:平分剩余空间
  • space-between:先两边贴边 , 在平分剩余空间

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

  • nowrap 不换行
  • wrap 换行

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

  • flex-start 从头部开始
  • flex-end 从尾部开始
  • center 居中显示
  • stretch 拉伸

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

  • flex-start:默认从头部开始 如果主轴是x轴,则从左到右
  • flex-end:从尾部开始排列
  • center:从主轴居中对齐
  • space-around:平分剩余空间
  • space-between:先两边贴边 , 在平分剩余空间

二、rem和px之间的转换和方式、媒体查询

1.rem和em

em也是一个相对单位,基准是参照父元素字体大小。

rem (root em)是一个相对单位,基准是相对于html元素的字体大小。

2.less

Less是一门 CSS 预处理语言,它扩展了CSS的动态特性,

它在CSS 的语法基础之上,引入了变量,Mixin(混入),运算以及函数等功能,大大简化了 CSS 的编写,并且降低了 CSS的维护成本。

就像它的名称所说的那样,Less可以让我们用更少的代码做更多的事情。

less的安装和使用在上课时老师会说到以及less的插件

3、less的使用

less在设置它的变量时的规范:

  • 必须有@为前缀
  • 不能包含特殊字符
  • 不能以数字开头
  • 大小写敏感

less可以嵌套、&号拼接、加减乘除运算。

4、rem的适配

第一种:页面元素的rem值 = 页面元素值(px)/ (屏幕宽度 / 划分的份数)或者   页面元素的rem值 = 页面元素值(px) /   html  font-size 字体的大小

屏幕宽度 / 划分的份数就是HTML的font-size的大小

第二种:用手机淘宝团队出的简洁高效 移动端适配库一个JS文件,它里面的原理是将设备划成10份;这样就只需要修改html文字大小。

5、媒体查询

媒体查询是CSS3新语法。使用这个可以针对不同的媒体类型定义不同的样式,也可以针对不同的屏幕尺寸设置不同的样式。

媒体查询语法规范:

  • 用@media开头 注意@符号
  • mediatype 媒体类型
  • 关键字 and  not   only
  • media  feature  媒体特性必须有小括号包含

媒体查询类型:

  • all  用于所有设备
  • print  用于打印机和打印预览
  • screen   用于电脑屏幕、平板和手机终端

关键字:

  • and:可以将多个媒体特性连接到一起,相当于”且“的意思
@media all and (min-width:xxx) and (max-width:xxx){
/*这段查询的all是针对所有设备(有些设备不一定是屏幕,也许是打字机,盲人阅读器)*/
}


  • not:排除某个媒体类型,相当于”非“的意思,可以省略
@media not print and (max-width: 1200px){样式代码}


  • only: 指定某个特定的媒体类型,可以省略
@media only screen and (min-width:xxx) and (max-width:xxx){
/*上面针对了所有设备,这段是只(only)针对彩色屏幕设备*/
}


三、响应式布局

1、响应式开发原理和布局容器

  • 原理:就是使用媒体查询针对不同宽度的设备进行布局和 样式的设置,从而适配不同设备的目的
  • 容器尺寸划分:超小屏幕(手机,小于768px);小屏幕(平板,大于等于768px);中等屏幕(桌面显示器,大于等于992px);大屏幕(大桌面显示器,大于等于1200px)

2、Bootstrap

bootstrap是写响应式的一个网站

Bootstrap使用步骤:

  • 新建index.html
  • 把官网上提供的基本模板粘贴过来
  • 把bootstrap中预设的标签样式复制过来
  • 根据项目的实际需求做相应的修改

Bootstrap 需要为页面内容和栅格系统包裹一个 .container 或者.container-fluid 容器,它提供了两个作此用处的类,container 页面有留白  container-fluid 没有留白。

3、bootstrap栅格系统

  • 按照不同屏幕划分为1~12 等份
  • 行(row) 可以去除父容器左右15px的边距
  • xs:超小屏幕 ;sm 小屏幕; md 中等屏幕; lg是大屏幕
  • 列(column)大于 12,多余的“列(column)”所在的元素将被作为一个整体另起一行排列
  • 每一列默认有左右15像素的 padding
  • 可以同时为一列指定多个设备的类名; class="col-md-4 col-sm-6"

4、列偏移

col-md-offset-  类 向右偏移,实际上是为当前元素增加左边距

5、列排序

col-md-push- 和 col-md-pull- 类