完成形はこのようになります
サンプルタイトル
HTMLの記述はこちら
<div class="sampleBoxA">
<h2 class="sampleTitle">サンプルタイトル</h2>
</div>
CSSの記述はこちら
▼ パソコン
.sampleBoxA {
width: 80%;
margin: 0 auto;
background-color: gray;
display: flex;
align-items: center;
justify-content: center;
min-height: 500px;
}
.sampleBoxA .sampleTitle {
/*要素周りの半透明のボーダー*/
border: 20px solid rgba(255, 255, 255, 0.4);
/*背景の基準がpadding内になります。*/
background-clip: padding-box;
background-color: #fff;
padding: 30px 40px;
font-size: 42px;
}
▼ スマホ
.sampleBoxA {
width: 80%;
margin: 0 auto;
background-color: gray;
display: flex;
align-items: center;
justify-content: center;
min-height: 180px;
}
.sampleBoxA .sampleTitle {
/*要素周りの半透明のボーダー*/
border: 20px solid rgba(255, 255, 255, 0.4);
font-size: 22px;
/*背景の基準がpadding内になります。*/
background-clip: padding-box;
background-color: #fff;
padding: 3%;
}
解説はこちら
サンプルタイトル
「sampleBoxA」の背景を濃いグレーに指定。
サンプルタイトルに「border: 20px solid rgba(255, 255, 255, 0.4);」をつけてあげましょう(これが要素の周りのボーダーになります)。
サンプルタイトルの背景色を白にしたいので、「background-color: #fff;」に。
背景色の範囲を決めたいのでpaddingを指定します。
→ pc「padding: 30px 40px;」、sp「padding:3%;」
ここがポイントなのですが、サンプルタイトルに「background-clip: padding-box;」を指定。
すると背景の基準がpadding 内になります。
この状態でborderを指定する事で半透明のボーダー(border: 20px solid rgba(255, 255, 255, 0.4);)が表示されます。