Как и многие использую before для вертикального выравнивания. И вот если елемент по ширине не влазит, он выходит за род. блок. Что нужно делать в этом случае? Указывать ширину меньше чем у родителя? или использовать минусовой margin для псевдоелемента?
<div class="parent">
<span class="child">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente laborum, veniam alias, dolore obcaecati at illo quis consectetur quod quisquam necessitatibus? Voluptatem distinctio odio, quia rerum iusto dolore quod rem!
</span>
</div>
.parent{
width: 200px;
height: 200px;
background:grey;
text-align: center;
overflow: hidden;
}
.child{
background:red;
height: 40px;
overflow: hidden;
display: inline-block;
vertical-align:middle;
}
.parent:before{
content: "";
display: inline-block;
min-height: inherit;
height: 100%;
vertical-align: middle;
/*margin-left:-5px; если раскоментировать появиться нужный блок*/
}
jsfiddle.net/huham/1170