J'ai essayé de centraliser verticalement du texte brut à l'intérieur d'un élément de boîte flexible.L'alignement vertical ne fonctionne pas sur l'élément flexible
J'ai décidé d'utiliser la propriété display:table-cell
avec vertical-align: middle
. Mais cela ne semble pas fonctionner correctement dans les éléments flexbox.
Comment puis-je le centraliser verticalement, idéalement sans utiliser de wrapper ou de positionnement, et tout en tronquant le long texte avec des ellipses?
.container {
width: 400px;
height: 400px;
font-weight: 700;
border: 1px solid #d9d9d9;
display: flex;
flex-direction: column;
}
.item {
display: table-cell;
vertical-align: middle;
flex: 1 1;
background-color: cyan;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.item:nth-of-type(2n) {
background-color: aliceblue;
}
<div class="container">
<div class="item">Hello, I'm very very long string! Hello, I'm very very long string!</div>
<div class="item">Hello</div>
<div class="item">Hello</div>
<div class="item">Hello</div>
</div>
La question a été modifiée. Le texte long n'était pas dans le code d'origine. Donc, cette réponse couvre maintenant la partie alignement de la nouvelle question, mais pas la partie ellipse. –