弹性布局

本文介绍了移动端常见的布局方式,包括流式布局、Flex布局以及响应式布局中的媒体查询和Bootstrap。重点讲解了Flex布局的使用,如设置主轴、对齐方式以及子元素的排列和对齐。此外,还提到了长按元素时防止弹出菜单的解决方案。
摘要由CSDN通过智能技术生成

移动端常见布局

视口:
布局视口(浏览器默认是980px)、视觉视口,理想视口

物理像素 一个手机分辨率是780*1024,这表明在行上有780个小颗粒 pc端1px为一个物理像素,但是在移动端都不相同。 一个px能显示的物理像素点的个数,称为物理像素比 。

倍图是解决图片因为放大造成的模糊,二倍图意思是我们准备的图片要比实际需要的图片大两倍,这样手机进行放大或者缩放就不会出现模糊
参考链接:https://www.jianshu.com/p/7c5fdf90c0ef

- -moz代表firefox浏览器私有属性
- -ms代表ie浏览器私有属性,
- -webkit代表safari、chrome私有属性(最常见)

1.单独制作移动端页面

- 流式布局(百分比布局) 京东
- flex弹性布局 携程
- less+rem+媒体查询布局 苏宁
- 混合布局

2.响应式布局

- 媒体查询
- Bootstrap

flex布局
伸缩布局=弹性布局=伸缩盒布局=弹性盒布局=flex布局
当父元素设置为flex布局后,子元素的float,clear,vertical-align属性就会失效。通过给父盒子添加flex属性,用来控制子盒子的位置和排列方式

当父元素设置为flex布局后,子元素的float,clear,vertical-align属性就会失效

步骤:
1.对于flex布局,首先要明确谁是主轴,谁是副轴
flex-direction: row | row-reverse | column | column-reverse;
2.在父元素中添加flex-direction, justify-content属性

 <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <!-- <span>4</span>
        <span>5</span> -->
    </div>
div {
    width: 800px;
    height: 300px;
    background-color: pink;
    display: flex;
    /*排列方向,元素跟着主轴排列,主轴是x轴*/
    flex-direction: row; 
    /* justify有版面的意思 */
    justify-content: flex-start;/* 从左往右对齐,靠左浮动 */
    /* justify-content: flex-end;  从右往左对齐,靠右浮动*/
    /* justify-content: center;    中间对齐*/
    /* justify-content: space-between; 左浮动,中间,右浮动;先两边贴边,再平分剩余*/
    /* justify-content: space-evenly; */
    /* justify-content: space-around; 平分剩余空间 */
   /* space-evenly,flex 元素之间和 flex 元素和容器的空间总是相等的 */
   /* space-around,只有flex 元素之间的空间是相等的,第一个 flex 元素和最后一个 flex 元素和容器的空间是 flex 元素间空间的一 半 */
   /* flex-wrap: wrap; */
   /* 主轴侧轴全部都是水平居中 */
   /* justify-content: center; */
   /* align-items: center; */
   /* align-items: flex-start; 沿着侧轴y轴,所以在最上边 */
   /* align-items: stretch; */
   /* 沿着侧轴拉伸,子元素不要设置高度 */
}

左对齐 justify-content: flex-start;
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
flex-wrap: nowrap | wrap | wrap-reverse;
/* 控制伸缩容器是单行还是多行,以及交叉轴的方向(交叉轴决定新行堆放的方向)。 */
align-items:normal | stretch |center |flex-start| flex-end…
对齐方式,沿着主轴对齐方式,stretch中子元素不要设置高度,会根据父元素的高度拉伸进行适应

圣杯布局
圣杯布局,左右固定,中间活动
div {
width: 60%;
height: 300px;
background-color: pink;
/* 父元素设置布局格式 */
display: flex;
margin: 20px auto;
}

    div span:nth-child(1) {
        width: 50px;
        height: 100px;
        background-color: red;
    }
    
    div span:nth-child(5) {
        width: 50px;
        height: 100px;
        background-color: red;
    }
    /* 圣杯布局,左右固定,中间活动 */
    div span {
        background-color: green;
        height: 100px;
        /* 不设置宽度 */
        /* 先在最左边最右边设置一个固定的span,剩余的盒子再判断份数 */
        /* 即剩余盒子占一整份,就是剩余盒子把所有的空间都占据了 */
        flex: 1;
    }

在这里插入图片描述

子元素自我设置在父元素的哪个位置

<p>
        <span>1</span>
        <span>2</span>
        <span>3</span>
    </p>
 p {
       width: 60%;
       height: 300px;
       background-color: pink;
       display: flex;
       margin: 0 auto;
}
 p span:nth-child(3) {
      /* 将自己span放到父元素底部, */
       align-self: flex-end;
}

在这里插入图片描述

额外知识点
针对移动端长按某个加载图片或者超链接或者其他元素时,会弹出菜单,以下解决此类问题:

a {
    /* 加上这个属性才能给按钮和输入框自定义样式 */
    appearance: none;
    /* 点击时会显示高亮,我们需要清除,设置显示透明 */
    -webkit-tap-highlight-color: transparent;
  }
  
img,a {
    /* 当我们在键盘上安的时间很长会弹出菜单,禁用长按界面时弹出菜单 */
   -webkit-touch-callout: none;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值