【发布时间】:2018-07-19 01:50:28
【问题描述】:
我有一个圆圈,悬停在它上面会翻转。 face-container width 和 height 是 210px。
我希望宽度和高度是动态的,因此我将两者都设置为 100%,但随后元素消失了。
我认为这是因为内容。
.section {
position: relative;
padding: 80px 0;
}
.card-container {
position: relative;
margin: 0 auto;
}
.card-container:after {
clear: both;
}
.item-circled {
background-color: transparent;
text-align: center;
position: relative;
width: 100%;
display: inline-block;
}
.face-container {
position: relative;
width: 210px;
height: 210px;
z-index: 1;
-webkit-perspective: 1000px;
perspective: 1000px;
}
.face-card {
width: 100%;
height: 100%;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-border-radius: 50%;
border-radius: 50%;
-webkit-transition: all .5s linear;
transition: all .5s linear;
}
.face-container:hover .face-card {
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
-webkit-border-radius: 50%;
border-radius: 50%;
}
.face-1 {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
overflow: hidden;
-webkit-border-radius: 50%;
border-radius: 50%;
}
.face-1.back {
display: block;
box-sizing: border-box;
color: white;
font-size: 13px;
text-align: center;
background-color: #aaa;
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
-webkit-border-radius: 50%;
border-radius: 50%;
}
.centered{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
<div class="container-fluid">
<div class="section">
<section class="card-container">
<div class="row center-block">
<div class="col-xs-push-2 col-xs-8 text-center">
<div class="item-circled col-xs-4">
<div class="face-container">
<div class="face-card">
<div class="face-1">
<div class="text-center" style="background-color: #f7eebe;font-size: 300%;width: 100%;height: 100%">
<span class="centered">front</span>
</div>
</div>
<div class="face-1 back">
<p class="centered">back</p>
</div>
</div> <!-- face-card -->
</div> <!-- face-container -->
</div> <!-- col-xs-4 -->
</div> <!-- col-xs-8 -->
</div> <!-- row -->
</section> <!-- card-conteiner -->
</div> <!-- section -->
</div> <!-- container-fluid -->
我应该怎么做才能解决这个问题?
这是一个小提琴: http://jsfiddle.net/cmvz978x/19/
【问题讨论】:
-
使用基于百分比的高度依赖于在父元素上设置的显式高度值:因为人脸容器是父元素,所以不能设置为 100%
-
当你说它应该是响应式的,那么设置 100% 宽度/高度,100% 基于什么? ...浏览器,或图像,或....
-
顺便说一句,使用百分比的动态宽度效果很好,
height: 100%不行,一旦你将它设置为 100%,它的所有祖先,一直到html/body,也需要设置高度,除非其中一个具有使用百分比以外的单位定义的高度。 -
@LGSon,我正在使用 Bootstrap,并且该元素需要 4 列,所以我希望它采用那个宽度
-
好吧,
width: 100%不是问题,它会占用其父母的宽度,height: 100%是,我在评论中对此进行了解释,并在欺骗链接中进行了解释。这很重要,无论您是否使用 Bootstrap。如果您使用 Bootstrap 4,请查看第二个重复链接,它谈到了 Bootstrap 4 所基于的 Flexbox。
标签: html twitter-bootstrap css