나는 채팅을 쓰고있다. 모든 DOM 모듈을 하나의 HTML로 작성했을 때 Chrome에서는 제대로 작동했지만 Edge에서는 DOM 모듈이 작동하지 않았습니다. 하지만 모든 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"은 작동하지 않음) :
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;
}
작동하게하려면 "flex-basis : 0;"줄을 추가해야합니다. .messages 클래스로.
Polymer.js는 아무 관련이 없습니다. 이는 브라우저마다 Flexbox 동작이 다르기 때문입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다