bonsoir,
si tu as un fond uni, voici une autre option possible :
https://codepen.io/gc-nomade/pen/oNxLedV
code de la démo:
HTML:
<h1>Mes prestations</h1>
<p>Voici ce que je vous propose :</p>
<div class="prestation">
<h2><span>Titre de la prestation 1</span></h2>
<p>descriptif de la prestation 1<br><a href="acheter.html">commander</a></p>
</div>
<div class="prestation">
<h2><span>Titre de la prestation 2<br>sur deux lignes</span></h2>
<p>descriptif de la prestation 2<br><a href="acheter.html">commander</a></p>
</div>
<div class="prestation">
<h2><span>Titre <br>de <br> la <br> prestation 3</span></h2>
<p>descriptif de la prestation 3<br><a href="acheter.html">commander</a></p>
</div>
CSS
html {
--bg-color: #bee;
--epaisseur: 1px;
--borderStyle: var(--epaisseur) solid gray ;
background:var(--bg-color)
}
.prestation {
border:var(--borderStyle);
margin:1em;
}
h2 {
margin: calc(var(--epaisseur) * -1);
background:var(--bg-color);
display:flex;
}
h2:before,h2:after {
content:'';
border-top: var(--borderStyle);
transform:translateY(50%)
}
h2:before {
width:0.75em;
border-left: var(--borderStyle);
}
h2:after {
flex:1;
border-right: var(--borderStyle);
}
h2 span {background:#111;color:#fff;font-weight:400;padding:0 0.25em}
p {padding:0 1.5em;}
une marge négative égale a la largeur des bordures pour
h2 avec une couleur de fond identique.
Un formatage en flex
(grid aussi possible) pour injecter 2 pseudo et recréer les bordures cachées , avec un décalage vers le bas pour s'aligner au centre.
Dans la demo les variables CSS ne sont utilisées que pour réduire les redondances CSS.