为什么Flexbox在非chrome浏览器中无法正常工作?

丹尼斯535

我在写聊天。当我用一种HTML编写所有DOM模块时,它在Chrome中可以正常工作,但是DOM模块在Edge中不起作用。但是后来我将所有DOM模块移到了另一个HTML文件。现在,它可以在Edge中使用。但是现在Flexbox并非在所有浏览器中都可以使用。

我写了一些样本:

一个HTML中的所有DOM模块:http : //plnkr.co/edit/m9oKpnV2CWJvVu9Ry3PQ?p=preview

另一个HTML中的DOM模块:http : //plnkr.co/edit/n2rV8kDravia4CTNOSL5?p=preview

我不知道为什么,但是在Chrome中,第二个示例可以正常工作,尽管在整个项目中,Flexbox都有问题。但是第二个示例在Edge中也有同样的问题。参见第二张图片。

Edge中的第一个示例(未加载DOM模块):

一切都集中在一处

Edge中的第二个示例(“ flex-basis:0”和“ flex-grow:1”不起作用):

自己的HTML文件中的DOM模块

在Chrome中正确的结果:

正确的结果

index.html:

<!DOCTYPE html>
<html>

  <head>
    <script src="http://polygit.org/components/webcomponentsjs/webcomponents-lite.min.js"></script>
    <link href="http://polygit.org/components/polymer/polymer.html" rel="import">

    <link rel="stylesheet" href="style.css">
  </head>

  <body>

    <div class='main-block'>
      <div class='title'>
        <span>Title</span>
      </div>

      <my-module></my-module>

    </div>

  </body>

</html>

<dom-module id="my-module">
  <template>
      <div class='messages'>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
        <div class='message'></div>
      </div>
      <div class='title'>
        <span>Bottom</span>
      </div>
  </template>

  <script>
    Polymer({
            is: "my-module" 
    });
  </script>
</dom-module>

style.css:

.main-block
{
  display: flex;
  flex-direction: column;

  border: solid 1px red;
  width: 300px;
  height: 400px;
  margin: 0 auto;
}

.title
{
  background-color: red;
  min-height: 50px;
  height: 50px;
  margin: 10px;
  text-align: center;
}

my-module
{
  display: flex;
  flex-direction: column;
  flex-basis: 0;
  flex-grow: 1;

  border: solid 1px green;
  margin: 10px;
}

.messages 
{
  flex-grow: 1;

  border: solid 1px blue;
  margin: 10px;

  overflow-x: hidden;
  overflow-y: auto;
}

.message
{
  background-color: pink;
  min-height: 50px;
  height: 50px;
  margin: 10px;
}
丹尼斯535

要使其正常工作,应添加“ flex-basis:0;”行。进入.messages类。

与Polymer.js无关。这是由于不同浏览器中的Flexbox行为不同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SCSS 中的 Flexbox 在 Firefox 上正常工作,但在其他浏览器(例如 Chrome、Edge 等)上无法正常工作

打开浏览器时,为什么我的jQuery无法正常工作/无法显示?

jQuery API:.ajaxStart()在Chrome浏览器中似乎无法正常工作

在Google Chrome浏览器中滚动屏幕(溢出无法正常工作)

在Safari浏览器中,scrollIntoView无法正常工作

FPDF在某些浏览器中无法正常工作

模式选择 Java Script 为什么它在 chrome 中的 Mozilla 浏览器中不起作用它只是正常工作?

为什么onClick()在Chrome浏览器上无法使用?

谷歌浏览器无法正常工作

Css、Html:为什么 chrome 忽略容器宽度?(在所有其他浏览器上工作正常)

为什么我的导航栏无法在Google Chrome浏览器中正常显示,但可以在其他浏览器上使用

查询在查询浏览器中工作正常,但在python代码中却无法正常工作

Chrome Class Registry修复后,Windows 10默认浏览器为Chrome无法正常工作

使用JavaScript将HTML表格数据导出到Excel / jQuery在Chrome浏览器中无法正常工作

从Flutter 1.9开始:如何在浏览器中运行Flutter App?Flutter run -d chrome无法正常工作

从Flutter 1.9开始:如何在浏览器中运行Flutter App?Flutter run -d chrome无法正常工作

html5视频代码自动加载无法正常工作,如何在Chrome或任何浏览器中自动加载

我正在使用复选框chk.jpg作为图像,它在Google Chrome浏览器中工作正常,但在Mozilla Firefox中无法正常工作吗?

MPDF无法在谷歌浏览器中工作,但在Firefox中可以正常工作

Chrome浏览器-启用精确的内存信息无法正常工作并且性能仍然很高。

padding-bottom无法正常工作。我正在Chrome浏览器中进行测试

带有新浏览器标签的chrome.tabs.executeScript无法正常工作?

Google Chrome浏览器快速列表(用于书签,新窗口等)无法正常工作

Xampp正常启动,但是在浏览器中的localhost无法正常工作

为什么我的css`content:`无法在多个浏览器中工作,并且总体上改善了跨浏览器的兼容性

为什么我的网站的滑块只能在Mac(相同的浏览器)上正常工作?

jQuery无法在浏览器中工作

我的 Selenium Chrome Headless 浏览器是否正常工作?

nodeJS:无法在浏览器中打开获取响应-说页面无法正常工作