【发布时间】:2016-07-09 08:34:26
【问题描述】:
由于某种原因,当水平区域太小而无法显示时,flex 容器内的文本无法正确中断。 但即使在“正常”状态下也应该不会中断?
我在这里做错了什么?
(function () {
var el;
el = document.getElementById('clicker');
el.onclick = function () {
el.classList.toggle('container_changed');
return null;
};
}.call(this));
body {
background: #333;
}
.container {
width: 100px;
position: relative;
}
.container img {
width: 100%;
height: auto;
}
.container .caption {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: end;
-webkit-align-items: flex-end;
-ms-flex-align: end;
align-items: flex-end;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
vertical-align: middle;
}
.container span {
color: white;
font-family: 'Nobile', sans-serif;
font-size: 1em;
text-align: right;
}
.container_changed {
height: 200px;
width: 200px;
}
.container_changed img {
width: initial;
height: 100%;
}
<div id="clicker" class="container">
<img src="http://www.placebear.com/300/800">
<div class="caption">
<span>Ceci n'est pas un ours</span>
</div>
</div>
【问题讨论】:
-
在 sn-p 中工作正常。
¿? -
您的容器在点击前是 100 像素,点击后是 200 像素:行为对我来说似乎很好;如果您想确定的话,可以在 flex 容器和 flex 项目周围添加轮廓或在下方添加华丽的背景。还有为什么这里有图?它是您的 flex 容器的兄弟(因此与它无关)