ボーダーで線をひいて、中の要素の位置をずらして、その線の上に乗せるかたちで実現してます。
See the Pen 横線にタイトルを載せるデザイン by takapen (@takapen) on CodePen.
title 1
title 2
.title-1 {
margin: 40px 0 50px;
width: 100%;
border-bottom: 1px solid #333;
position: relative;
display: flex;
justify-content: center;
}
.title-1 span {
padding: 0 20px;
font-size: 20px;
font-weight: bold;
background: #fff;
position: absolute;
vertical-align: center;
top: -.8em;
}
.title-2 {
margin: 40px auto 50px;
width: 200px;
border-bottom: 1px solid #333;
position: relative;
display: flex;
justify-content: center;
}
.title-2 span {
padding: 0 20px;
font-size: 20px;
font-weight: bold;
background: #fff;
position: absolute;
vertical-align: center;
top: -.8em;
}