flex与相对定位在国内双核浏览器极速模式下的兼容性问题

news/2024/5/19 18:46:37 标签: flex, 相对定位

 

在国内的浏览器中,360浏览器,QQ浏览器等绝大部分都是双核浏览器。双核浏览器即拥有IE兼容内核和非IE极速内核两个内核,分别对应兼容模式和极速模式。兼容模式时使用IE内核,极速模式采用webkit内核。而目前大部分网站为了性能和用户体验,默认使用极速模式。在极速模式出现问题时,使用兼容模式。

虽然极速模式是使用的webkit内核,但是浏览器的表现却还是有一定差异。平时使用Chrome调试,在极速模式下却表现的不正常。

好,进入正题。flex是目前前端布局中一个非常好的属性,这里不多说,可以看大神介绍http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

而在工作中发现了一个问题,flex相对定位配合使用时:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
    <style>
        html,body{
            margin:0;
            padding:0;
            width: 100%;
            height: 100%;
        }
        .wrapper{
            position: relative;
            width: 100%;
            height: 100%;
            background-color: #fff;
            display: flex;
            flex-direction: column;
        }

        .flex-1{
            flex: 0 0 500px;
            background-color: #dfdfdf;
        }
        .flex-2{
            flex: 1;
        }

        .circle{
            position: relative;
            left: 50%;
            top: 50%;
            margin: -100px 0 0 -100px;
            width: 200px;
            height: 200px;
            border-radius: 100px;
            background-color: #52caff;
        }
    </style>
</head>
<body>
<div class="wrapper">
    <div class="flex-1">
    <div class="circle">
  
</
div>
  <div class="flex-2"> </div>
</div> </div> </body> </html>

代码在flex-2中居中画了一个圆,chrome表现很正常,如图

 

 

但是在360极速下,却是这样的:

 

找了一下原因,圆在 竖直方向上的相对定位没有生效,即:“top:50%”没起作用;

为什么没作用呢,我认为是div.flex-1没有显式的写出高度,"flex:0 0 500px"是flex属性的缩写,

,换一种写法就可以搞定:

其实就是给div定个高度。而这个时候又在考虑,高度不定的情况下怎么办?

用css3 calc()?这样的话遇到flex子区域有相对定位flex就没有使用必要了。虽然遇到的问题解决了,但似乎又来了新的问题。

国内浏览器兼容模式下为什么会表现的不一样。。。。。。。。。。。。。

 

 

一个类似的问题,假如父元素设置flex,子组件一个高度固定,一个变化,其中固定高度子元素只写高度height,在chrome中表现正常,在ie内核浏览器中会出问题,高度并不能表现出来,必须的给个flex属性。

从以上两个问题可以看出: 在父元素使用display: flex;时,最稳妥的就是子元素即设置 flex属性,又设置高度。

 


http://www.niftyadmin.cn/n/1732881.html

相关文章

Linux error while loading shared libraries的解決方法

http://coderj.iteye.com/blog/659887 今天给在linux下运行程序时升级时&#xff0c;重启Apache 出现 error while loading shared libraries这种错误&#xff0c;之前Apache一直都运行正常&#xff0c;仔细研究了下终于找到的了解决方案&#xff0c;写下来备份下。 ./tests: e…

关于JBoss入侵和防御!

在默认安装JBOSS&#xff0c;http://localhost:8080就会有一个跟apachetomcat一样的漏洞&#xff0c;此漏洞可以上传war格式的文件&#xff0c;系统会自动打开并解析此文件。如果war里面是一个JSP马。。。那就可想而知了。当上传成功&#xff0c;直接打开JSP。就是administrato…

贝塞尔曲线与CSS3动画、SVG和canvas的应用

简介 贝塞尔曲线是可以做出很多复杂的效果来的&#xff0c;比如弹跳球的复杂动画效果&#xff0c;首先加速下降&#xff0c;停止&#xff0c;然后弹起时逐渐减速的效果。 使用贝塞尔曲线常用的两个网址如下&#xff1a; 缓动函数&#xff1a;http://www.xuanfengge.com/ease…

jboss安全配置

通过以下设置可以对JMX-console,与web-console开启密码保护一、JMX-cosole安全配置 1&#xff1a; 找到%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件&#xff0c;去掉对下面这段xml文本的注释。 Xml代码 <jboss-web> <security-…

【引用】java处理JSON格式数据的通用类

进入需要在项目中用java处理json格式的数据&#xff0c;因此封装了一个class&#xff0c;现将这个class共享出来和大家分享 /** * Copyright (c) linkwise 2007-2009 corporation. * All rights reserved */ package com.linghui.common.util; import java.util.ArrayList; imp…

【引用】Json原理

Ajax(Asynchronous JavaScript and XML)是一种浏览器异步读取服务器上XML内容的技术,而Json是其中的一种Ajax框架.Json(JavaScript Object Native即JavaScript原始对象).JSON的基本格式如下:对象是属性、值对的集合。一个对象的开始于"{"&#xff0c;结束于"}&q…

底部固定,高度自动,跟随滚动条滚动

现在的样式&#xff0c;看起来简单&#xff0c;但里面深奥的东西太多&#xff0c;套路太多&#xff0c;还是自己不够聪明呀&#xff01;&#xff01;&#xff01; <!DOCTYPE html><html><head><title></title><style type"text/css"…

【引用】java利用json-lib解析json字符串

既然是用json-lib来解析&#xff0c;那么你的项目里自然要加上这个包了&#xff0c;我只分享代码&#xff1a; String qr request.getParameter("queryparams");//queryparams是页面拼好的json数组 //queryparams是页面拼好的json数组如下&#xff1a; {"param…