关于盒模型布局在UC上的兼容处理

这几天做移动项目,期间用了盒模型(flex)布局。在计算机上由于是用谷歌和火狐浏览器来调试,所以没发现什么问题,但是手机UC打开后,我整个人都不好了,盒模型布局全乱了。后来在网上查了一下关于盒模型的资料,发现大部分都说移动端不支持flex属性,更有甚者说只能换种布局方式。看到这些,我的内心是崩溃的,毕竟做了这么久的项目不能说改就改的。但是最终我还是找到了解决的办法,接下来跟大家分享一下我是如何解决这个问题的。下面是一个Demo,上代码先:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
        <title>Demo for flex on uc</title>
        <style type="text/css">
            html,
            body {
                padding: 0;
                margin: 0;
            }

            .demo1 {
                background-color: yellow;
                text-align: center;
                height: 80px;
                display: -webkit-flex;
                display: flex;
                -webkit-align-items: center;
                align-items: center;
                /* for uc */
                display: -webkit-box;
                -webkit-box-align: center;
            }

            .demo1>div {
                background-color: green;
                margin: 2px;
                -webkit-flex: 1;
                flex: 1;
                /* for uc */
                -webkit-box-flex: 1;
                -moz-box-flex: 1;
                -ms-flex: 1;
            }

            .demo2 {
                background-color: yellow;
                width: 80px;
                height: 200px;
                display: -webkit-flex;
                display: flex;
                -webkit-flex-direction: column;
                flex-direction: column;
                -webkit-align-items: center;
                align-items: center;
                /* for uc */
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -moz-box-orient: vertical;
                box-orient: vertical;
                -webkit-box-align: center;
            }

            .demo2>div {
                background-color: green;
                width: 40px;
                margin: 2px;
                -webkit-flex: 1;
                flex: 1;
                /* for uc */
                -webkit-box-flex: 1;
                -moz-box-flex: 1;
                -ms-flex: 1;
            }
        </style>
    </head>

    <body>

        <h2>左右排列,上下居中</h2>

        <div class="demo1">
            <div>flex</div>
            <div>flex</div>
            <div>flex</div>
            <div>flex</div>
            <div>flex</div>
        </div>

        <h2>上下排列,左右居中</h2>

        <div class="demo2">
            <div>flex</div>
            <div>flex</div>
            <div>flex</div>
            <div>flex</div>
            <div>flex</div>
        </div>

    </body>

</html>

代码已经有了,接下来读者可以亲自体验一下UC浏览的效果咯!是不是已经是你们想要的效果了?

不过,这里还有一个问题,就是demo1里的div的宽度会随文字的多少改变,不是我们想要的等分布局效果。其实,有一个最简单的解决办法,就是在demo1下的div里添加一个属性:(width:0%;),即

.demo1>div {
    background-color: green;
    margin: 2px;
    width: 0%;/*初始宽度都设为0%,这样就能保证每个宽度都一样了*/
    -webkit-flex: 1;
    flex: 1;
    /* for uc */
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -ms-flex: 1;
}

然后你可以尝试将某个div里的文字增多,看看效果如何!

好了,这个问题就分享到这里了, 希望能给读者带来小小的帮助,也希望大神多多指导!!!

时间: 2024-08-01 10:33:34

关于盒模型布局在UC上的兼容处理的相关文章

DAY46-前端入门-组合选择器、标签a_img_list、盒模型、伪类、盒模型布局

目录 一.组合选择器 群组选择器 子代选择器 后代选择器 相邻选择器 兄弟选择器 交集选择器 组合选择器的优先级 二.属性选择器 三.盒模型 盒模型概念 盒模型成员介绍 四.边界圆角 单角设置 整体赋值 五.常用标签 超连接标签a 图片标签img 列表标签list 六.伪类选择器 a标签的四大伪类 内容伪类 索引伪类 取反伪类 七.盒模型布局 做页面必备reset操作 盒模型布局基本介绍 display:显示方式 兄弟坑 父子坑 解决方案 一.组合选择器 群组选择器 可以将任意多个选择器分组到一

前端 盒模型布局 浮动布局

盒模型布局 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>盒模型布局</title> <style> body { margin: 0; padding: 100px 0 0 200px; } /*盒模型组成部分: */ /*margin + border + padding + content 1.每部分都有自己的独立区域 2.

87.CSS Flex 弹性盒模型布局教程(共用的css在48篇文章gird)

CSS Flex 弹性盒模型布局教程 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. flex布局就是给任何一个容器添加 display:flex 注:设为 Flex 布局以后,子元素的float.clear和vertical-align属性将失效. 注:Safari 6.1+(前缀-webkit-) iOS 7.1+(前缀-webkit-)最新flex 兼容性查看请点此处 最新Flex兼容性 Flex 容器 flex contain

盒模型布局详解

一.盒模型之display(显示方式) 一.display组成部分解释 1.块(block):其可以独行显示并且其自身支持宽高,其中宽可以设置为默认,高可以由子级或内容撑开(可以嵌套所有类型但是其中的p段落标签一般只允许内联嵌套). 2.内联也叫行(inline):其可以同行显示并且不支持宽高是因为其宽高是由内容决定的(一般嵌套内联). 3.内联块(inline-block):包含块和内联的所有特点,但是如果设置了宽高的话就一定要使用设置的宽高,如果值设置一种则按比例缩放(一般只作为最内层级).

第五十七天 盒模型布局

1.常用标签的使用 前往本页面中个某个位置:Top =>锚点 1.设置锚点 2.设置前往锚点的a跳转    设置前往锚点的a跳转:#锚点名 <div id="t_123">123</div> <a href="#page_top"Top</a> <a href="#t_123">123</a> <a href="00_复习预习.html#md">

盒模型布局相关-基础与语法

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 21.0px; font: 18.0px "Yuanti SC"; color: #000000; background-color: #ffffff } span.s1 { } 布局相关属性 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 21.0px; font: 18.0px "Yuanti SC"

flex弹性盒模型布局

容器属性:1.flex-direction:项目的排列方向(1)row 主轴方向排列(2)row-reverse 主轴反方向排列(3)column 纵向排列(4)column-reverse 纵向反方向排列2.flex-wrap:项目的换行方式(1)nowrap:不换(2)wrap:换行,第一行在上方(3)wrap-reverse:换行,第一行在下方3.flex-flow:是flex-direction和flex-wrap 的简写,默认 row nowrap4.justify-content:项

flex(弹性盒模型)布局写一个移动端

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>&

css3中 弹性盒模型布局之box-flex

box-flex:也就是让子容器针对父容器的宽高属性按照一定的规则来划分 Eg: html代码: <div class="wrap"> <div class="box1">01</div> <div class="box2">02</div> <div class="box3">03</div> </div> CSS样式: <