У меня есть контейнер, в котором overflow-wrap: break-word;
каждый дочерний элемент красиво разбивает слово, кроме одного тега привязки, который имеет display: inline-block;
. Почему это происходит?
a {
font-size: 0.875rem;
color: #006fdd;
}
.inline-block {
display: inline-block;
}
.container {
max-width: 100px;
overflow-wrap: break-word;
background-color: yellow;
padding: 10px;
margin-bottom: 20px;
}
<div class = "container">
<a class = "inline-block">display: inline-block longlonglonglonglonglonglonglonglonglonglonglonglonglongtext@something</a>
</div>
<div class = "container">
<a>display: inline longlonglonglonglonglonglonglonglonglonglonglonglonglongtext@something</a>
</div>
<div class = "container">
<div>longlonglonglonglonglonglonglonglonglonglonglonglonglongtext@something</div>
</div>
максимальная ширина: 100%; к встроенному блоку
Для встроенного блока вы должны определить width
, чтобы CSS знал, где разбить слово.
a {
font-size: 0.875rem;
color: #006fdd;
}
.inline-block {
display: inline-block;
width: 100px; /* define width here */
}
.container {
max-width: 100px;
overflow-wrap: break-word;
background-color: yellow;
padding: 10px;
margin-bottom: 20px;
}
<div class = "container">
<a class = "inline-block">display: inline-block longlonglonglonglonglonglonglonglonglonglonglonglonglongtext@something</a>
</div>
<div class = "container">
<a>display: inline longlonglonglonglonglonglonglonglonglonglonglonglonglongtext@something</a>
</div>
<div class = "container">
<div>longlonglonglonglonglonglonglonglonglonglonglonglonglongtext@something</div>
</div>
display: inline-block позволяет установить ширину и высоту элемента. Кроме того, с display: inline-block верхние и нижние поля/отступы соблюдаются.