Самый простой способ сделать это - добавить отрицательное левое и правое поле к заголовку.Это не идеально, потому что это может испортить ваш другой контент, а также может не работать с очень длинными словами:
.titles {
text-align: center;
padding: 3rem 0;
margin: 0 auto;
max-width: 420px;
background: lightgrey;
}
h1 {
font-size: 2.9rem;
margin: 0 -10% 1.9rem;
color: #3d78c7;
font-weight: 700;
line-height: 1.2;
background: rgba(0,0,0,0.2)
}
<div class="titles">
<h1>Allgemeine Geschäftsbedingungen</h1>
</div>
Другим решением является перенос слов внутри контейнера.Поддержка браузеров очень хорошая: https://caniuse.com/#feat=css-hyphens
.titles {
text-align: center;
padding: 3rem 0;
margin: 0 auto;
max-width: 420px;
background: lightgrey;
}
h1 {
font-size: 2.9rem;
margin: 0 0 1.9rem;
color: #3d78c7;
font-weight: 700;
line-height: 1.2;
background: rgba(0,0,0,0.2);
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
<div class="titles">
<h1 lang="de">Allgemeine Geschäftsbedingungen</h1>
</div>