Ric*_*ich 5 css overflow css3 css-transforms
我有一个"可翻转"的模态对话,由两个div(正面和背面)组成:
<div class="modal-dialogue">
<div class="modal-content">
<div class="front">
<h1>Front</h1>
</div>
<div class="back">
<h1>Back</h1>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用CSS转换我通过将"翻转"类添加到模态内容中来翻转模式以显示背面:
.modal-content.flipped {
-webkit-transform: rotateY(180deg);
}
Run Code Online (Sandbox Code Playgroud)
这一切都很好...... 除非我添加溢出:隐藏; 属性到模态内容.突然,后部div不可见,而前部div的背面变得可见(即使背面可见性设置为隐藏).
这看起来很奇怪.为什么设置overflow属性会以这种方式改变背面可见性?
你可以在这个小提琴中看到它:https://jsfiddle.net/amxp02mx/.它工作正常,但如果你在CSS中注释掉第31行,使溢出:隐藏,它就会被破坏.
有谁能解释为什么?
document.querySelector(".modal-content")
.addEventListener("click", function () {
this.classList.toggle("flipped");
});Run Code Online (Sandbox Code Playgroud)
.modal-dialogue {
z-index: 1050;
display: block;
width: 25rem;
min-height: 30rem;
margin-left: -12.5rem;
margin-top: -15rem;
position: fixed;
left: 50%;
top: 50%;
-webkit-perspective: 800px;
}
.modal-content {
width: 25rem;
min-height: 30rem;
position: relative;
background-color: transparent;
border-radius: 10px;
outline: none;
transition: 0.8s ease;
-webkit-transform-style: preserve-3d;
-webkit-transition: -webkit-transform 1s;
margin: 5rem auto 0 auto;
/* With overflow:hidden; the back of the panel is
not visible and the backface-visibility:hidden
stops working. Why? */
overflow: hidden;
/* With overflow: visible; it works fine. */
overflow: inherit;
}
.modal-content div {
display: block;
position: absolute;
width: 100%;
height: 100%;
-webkit-backface-visibility: hidden;
color: white;
font-size: 140px;
font-weight: bold;
text-align: center;
overflow: hidden;
}
.modal-content .front {
background: red;
z-index:0;
}
.modal-content .back {
background: blue;
-webkit-transform: rotateY(180deg);
z-index:-1;
}
.modal-content.flipped {
-webkit-transform: rotateY(180deg);
}Run Code Online (Sandbox Code Playgroud)
<div class="modal-dialogue">
<div class="modal-content">
<div class="front">
<h1>Front</h1>
</div>
<div class="back">
<h1>Back</h1>
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
您可以在文档中看到解释: https://drafts.csswg.org/css-transforms/#grouping-property-values
您的问题也可以通过添加轻松解决
overflow:hidden;
Run Code Online (Sandbox Code Playgroud)
到 .modal-content div 规则
https://jsfiddle.net/amxp02mx/4/
| 归档时间: |
|
| 查看次数: |
730 次 |
| 最近记录: |