移动端布局

单独制作移动端页面

全局样式

 1.移动端推荐使用:normalize.css(全局样式)
       下载地址:https://necolas.github.io/normalize.css/
 2.除此之外在添加三个属性:
        a./*在移动端浏览器默认的外观在ios上加上这个属性才能给按钮和输入框自定义属性*/
             input{
                     -webkit-appearance:none;
             }
        b./*禁用长安页面时的弹出菜单*/
             img,a{
             		-webkit-touch-callout:none;
             }
        c./*点击高亮我们需要清除  设置为transparent  完成透明*/
              *{
              		-webkit-tap-highlight-color:transparent;
              }
 3.推荐使用css3盒子模型
       加上:box-sizing:border-box;(padding和border不会再撑大盒子)
 4.给boby加个全局样式

在这里插入图片描述

1.流式布局(百分比布局)

 百分比布局=自己的宽度÷父元素的宽度
 里面有一些小属性:vertical-align:middle;图片和文字居中对齐

2.Flex布局(弹性布局布局)

给父级   display:flex;

1. 只设置主轴主轴的方向X方向
     flex-direction:row;(column  主轴变为Y轴)
2.此属性只适用于单行情况下:
    justify-content:flex-start(flex-end从尾部开始);
                               (center居中对齐)
                               (space-around平均分配所有的空间)
                               (space-betwee先两边贴边,在平均分配所有的空间)	                              
3.设置侧轴侧轴的方向(居中):
     align-items:center;
4设置是否换行默认子元素不换行:
     flex-wrap:nowrap(wrap 自动换行);(如果装不开,会缩小元素的宽度)
5.此属性只适用于多行情况下:
     align-content:flex-start(center居中对齐)
                              (space-around平均分配所有的空间)
                              (space-between上面贴着下面贴着);
                                设置多行多行侧轴侧轴的方向
6.flex-flow 属性是flex-direction和flex-wrap属性的复合属性(简写)
     flex-flow:column wrap;
     
 给儿子   flex:1;(在剩余空间中,子项目占的份数份)
     align-self:flex-end;单独属性下来
     order属性定义项目的排列顺序默认0 (order:-1;)

3.rem+媒体查询布局+Less

em:是相对于父元素的字体大小来说的
rem:是相对Html的字体大小来说的,主要针对于字体和高根据屏幕的变化而变化(Html可以实现整体的控制)
媒体查询布局:@media可以针对不同的屏幕尺寸设置不同的样式
*语法规范@media mediatype and | not | only (media feature){}
mediatype:媒体类型 all(所有设备) print(用于打印机)scree(用于电脑屏幕,平板电脑,智能手机)
and | not | only:关键字
media feature: 媒体特性,必须有小括号包含

   	1. 这句话的意思就是:要我们屏幕上并且最大的宽度是539像素
   	 
	  	@media scree and (max-width:539px){
	   	
	   	} 
	   	@media scree and (min-width:540px) and (max-width:969px){
	   			
	   	}   
	   	@media scree and (min -width:970px){
	    			
	   	} 
			 
   2.引入资源(相当于写两套不同的css样式用媒体查询分别调用)

在这里插入图片描述

	3.Less是css预处理语言,它扩展了css的动态特性(css缺点手算:本身的px÷Htmlfont-size的px=rem)
	  官网:lesscss.cn

	  使用:新建一个后缀名未less的文件
	  
	            a.less变量    语法规范为  @变量名:值;

在这里插入图片描述

	            b.less编译(也就是安装插件之后自动生成新的css文件);

在这里插入图片描述

	            c.less的嵌套(写好之后会在css里面自动生成)

在这里插入图片描述

	            d.less的运算

在这里插入图片描述

	          ********  e.rem的适配方案********

在这里插入图片描述

在这里插入图片描述

实际开发时的基本流程

方案一(使用rem+less)

1.引入视口标签和normalize公共样式
在这里插入图片描述

    <meta name="viewport" content="width=device-width, user-scalable=0, initial-scale=1.0,maximum-scale=1.0 minimum-scale=1.0">

2.自己定义好less的公共样式以后就不需要在变了,然后记得引入

在这里插入图片描述
在这里插入图片描述

3.把公共样式导入所需要的页面(例如首页)
在这里插入图片描述

4.初始化body 宽度时以750px设计稿➗字体50px得到的15rem
在这里插入图片描述

方案二(使用:flexible.js)

github地址:https://github.com/amfe/lib-flexible
在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200828102524787.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtYWxsd2hpdGVfcGFwZXI=,size_16,color_FFFFFF,t_70#pic_center在这里插入图片描述
不借助于Less
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值