app端部分机型关于使用flex的兼容适配

/* flex弹性盒布局兼容性写法样式文件
 * 常用类
 * display__flex
 * flex_direction__column
 * flex_wrap__wrap
 * justify_content__center
 * justify_content__space_between
 * justify_content__space_around
 * align_items__center
 * flex_grow__1
 * flex_shrink__0
*/

/*
    设置在弹性容器上的属性
*/
.display__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

/*flex-direction属性决定主轴的方向(即项目的排列方向)。*/
.flex_direction__row_reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.flex_direction__column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.flex_direction__column_reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

/*默认情况下,项目都排在一条线(又称"轴线")上。flex-wrap属性定义,如果一条轴线排不下,如何换行。*/
.flex_wrap__nowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.flex_wrap__wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flex_wrap__wrap_reverse {
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
}

/*justify-content属性定义了项目在主轴上的对齐方式。*/
.justify_content__flex_start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
.justify_content__flex_end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.justify_content__center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.justify_content__space_between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.justify_content__space_around {
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

/*align-items属性定义项目在交叉轴上如何对齐。*/
.align_items__flex_start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.align_items__flex_end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.align_items__center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.align_items__baseline {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

/*align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。*/
.align_content__flex_start {
    -ms-flex-line-pack: start;
    align-content: flex-start;
}
.align_content__flex_end {
    -ms-flex-line-pack: end;
    align-content: flex-end;
}
.align_content__center {
    -ms-flex-line-pack: center;
    align-content: center;
}
.align_content__space_between {
    -ms-flex-line-pack: justify;
    align-content: space-between;
}
.align_content__space_around {
    -ms-flex-line-pack: distribute;
    align-content: space-around;
}

/*
    设置在弹性项目上的属性
*/

/*order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。以下是兼容样式写法示例,可根据需要修改属性值。*/
.order__1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

/*flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。以下是兼容样式写法示例,可根据需要修改属性值。*/
.flex_grow__1 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

/*flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。以下是兼容样式写法示例,可根据需要修改属性值。*/
.flex_shrink__0 {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

/*
    flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
    以下是兼容样式写法示例,可根据需要修改属性值。
*/
.flex_basis__100px {
    -ms-flex-preferred-size: 100px;
    flex-basis: 100px;
}

/*align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。*/
.align_self__flex_start {
    -ms-flex-item-align: start;
    align-self: flex-start;
}
.align_self__flex_end {
    -ms-flex-item-align: end;
    align-self: flex-end;
}
.align_self__center {
    -ms-flex-item-align: center;
    align-self: center;
}
.align_self__baseline {
    -ms-flex-item-align: baseline;
    align-self: baseline;
}

safari
父元素设为display:flex;没有问题,但子元素flex:1这种标注在safari中不能用!子元素使用的话只能设为flex:auto,如果想实现flex:1这种效果,请用:

flex-grow:1;
flex-shrink:1;
flex-basis:0;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于uni-app适配兼容问题,我可以给你一些建议。 首先,uni-app是基于Vue.js框架的跨平台开发框架,它可以同时开发小程序、H5、以及APP等多个平台。在适配方面,uni-app已经做了很多工作,使得开发者可以方便地编写一套代码,同时在不同平台上运行。但是仍然可能会遇到一些兼容性问题。 一些常见的适配兼容问题包括: 1. 样式适配:不同平台的样式表现可能存在差异。你可以使用uni-app提供的`class`和`style`全局样式,根据不同平台设置不同的样式。 2. 组件适配:某些组件在小程序和H5平台上可能有不同的实现方式。你可以使用条件编译指令`<!-- #ifdef H5 -->`和`<!-- #ifndef H5 -->`来针对不同平台编写特定代码。 3. API适配:不同平台的API调用方式可能不同。你可以使用uni-app提供的内置API来实现跨平台兼容,或者使用条件编译指令来根据不同平台调用特定的API。 4. 图片适配:不同平台对图片格式和路径的要求可能不同。你可以使用uni-app提供的`@/static`路径来引用静态资源,并根据平台要求提供不同的格式。 5. 第三方插件兼容:某些第三方插件可能不支持所有平台。你可以在使用前检查插件文档,确认其支持的平台,并在不支持的平台上进行兼容处理。 总之,针对uni-app适配兼容问题,你可以通过使用uni-app提供的工具和特性,以及条件编译指令来进行处理。同时,建议在开发前了解各个平台的差异和要求,并在实际开发中进行测试和调试,以确保应用在不同平台上的正常运行。希望这些建议对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值