移动端布局

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:


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

一、flex?

二、felx布局原理

1、flex父项常见的属性

):

  • flex是弹性布局 状模型提供最大的灵活性 任何一个容器都可以指定flex布局 当我们的盒模型设置为flex布局之后
    子元素的float clear 和vertival-aligh属性将失效 伸缩布局=弹性布局=弹性布局=flex布局

采用flex布局的元素 称为flex容器 它的所有的子盒子自成为容器成员 成为flex项目

div就是flex父容器
span就是子容器中的flex项目
子容器可以横向排列也可以纵向排列
就是通过给父盒子添加flex属性 来控制子盒子的位置和排列方式

代码如下(示例):
flex布局父项常见属性 6个

flex-direction:设置主轴的方向
flex-content:设置主轴上面子元素排列方式
flex-wrap:设置子元素是否换行
align-content:设置侧轴上面的子元素的排列方式(多行)
align-items: 设置侧轴上的子元素排列方式(单行)
flex-flow: 复合属性 相当于同时设置flex-direction 和flex-wrap 
默认主轴就是x轴,水平向右 默认侧轴就是y轴,水平向下
主轴是可以变化的 就看flex-direction设置谁为主轴,剩下的就是侧轴 我们的子元素就是跟着主轴排列
row 默认从左到右
row-reverse 从右到左
column 从上到下
column-reverse 从下到上
布局原理

justify-content 设置主轴上的子元素排列
使用这个属性先要确定好主轴是那个
flex-start: 默认值从头开始,如果主轴是x轴,则从左到右
flex-end: 从尾部开始排列
center: 在主轴居中(如果主轴是x轴则水平居中)
space-around:平分剩余空间
sapce-between: 先两边贴边 在平分剩余空间
值得注意的是justify-content可水平居中
align-aitems侧轴居中 合起来就是垂直居中



flex-wrap:默认的子元素是不换行的 如果装不开,子元素会缩小宽度 放到父元素里面
nowrap 默认值 不换行
wrap 换行

align-contetn 设置侧轴上的子元素的排列方式(多行)
设置子项在侧轴上的排列方式并且只能用于子项出现换行的情况(多行换行)在单行下面没有效果 
 div {
            display: flex;
            width: 800px;
            height: 400px;
            /* 换行 因为有了换行 侧轴上面用控制子元素对齐方式用align-content */
            /* align-content: flex-start; */
            /* 换行使用flex-wrap:wrap */
            flex-wrap: wrap;
            /* align-content: center; */
            /* align-content: space-between; */
            align-content: space-around;
            background-color: pink;
            先换行 再平分剩余空间 效果如下1
            ailgn-wrap:wrap
            align-conter: around;
          
align-content 和align-items区别

 1. align-item使用于单行情况下 只要上对齐 下对齐 居中和拉伸
 2. align-content适用于多行单行下无效,可以设置上对齐,下对齐,居中,拉伸以及平均分配剩余空间属性
 3. 单行align-items 多行align-content
  
  flex-flow 属性是flex-dorection和flex-wrap属性的符合属性
  
  

flex布局子项常见属性

该处使用的url网络请求的数据。



 - flex子项目占的份数
 - align-self控制子项自己在侧轴的排列方式
 - order属性定义子项的排列顺序(前后顺序)
      
 

  flex属性
 1. flex属性定义子项目分配剩余空间,用flex来表示占的份数
 .item {
 flex:<number>; 
}
如果把盒子分成大小一致的小盒子 只需要加flex:1
如果其中一个盒子的大小不一 ,只需要子盒子::nth-child()
flex:2或者是响应的份数 见图3
 p {
            display: flex;
            width: 60%;
            height: 150px;
            background-color: rgb(177, 162, 243);
            margin: 100px auto;
        }
        /* 不用写宽度直接分 如果要有一定的宽度 用子元素来代替  且是自适应的盒子*/
        
        P span {
            flex: 1;
        }
        
        p span:nth-child(2) {
            flex: 2;
            background-color: rgb(231, 130, 198);
        }

```c
 section {
            display: flex;
            width: 60%;
            height: 150px;
            background-color: pink;
            margin: 0 auto;
        }
        
        section div:nth-child(1) {
            width: 100px;
            height: 150px;
            background-color: rgb(192, 85, 192);
        }
        
        section div:nth-child(2) {
            flex: 1;
            background-color: rgb(79, 153, 175);
        }
        
        section div:nth-child(3) {
            width: 100px;
            height: 150px;
            background-color: rgb(96, 96, 194);
        }
       
       效果图2
      
2、align-self控制子项自己在侧轴上的排列方式
     align-self可以允许单个项目与其他项目不一样的对齐方式,可以覆盖align-items属性
     默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于strech  第二个在侧轴底部
     span:nth-child(2) {
     设置自己在侧轴上面的排列方式
     align-self: flex-end;
}
3、order属性定义项目的排列顺序
数值越小,排列越靠前,默认为0  假如是负数 则在前面
注意:和z-index不一样



背景线性渐变
语法1 

 1. background:linear-gradient(起始方向,颜色1,颜色2,……);
 2. background:-webkit-linear-gradient(left, red, blue);
 3. background:-webkit-limear-gradient(left ,top, red, blue);

```c
在这里插入代码片

总结

提示:
效果图1

在这里插入图片描述
采用flex方式display:flex 和流式布局一致 但是要优于流式布局
流式布局时利用最大宽度 最小宽度 百分比
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值