立体感のある枠線を入れたCSS見出しデザイン

@ハクト 2022-03-28 12:53:33に投稿

「skew」関数を使用し、枠線を入れた立体感のある見出しをCSSで作りました。

太枠で囲む

「boder」プロパティで太さ3pxの黒い実線で囲みます。

<h2>CSSでつくる見出しデザイン</h2>

 

h2 {
    position: relative;
    padding: 1rem;
    border: 3px solid #353535;
    color: #353535;
    font-size: 26px;
    font-weight: bold;
}

右側の影を作る

before疑似要素の「skewY」関数で要素を傾ける。「top」「right」で位置を調整し、「 border-width」で枠線の太さが均一になるよう調整する

h2::before {
    position: absolute;
    top: -10px;
    right: -16px;
    width: 10px;
    height: 100%;
    border: solid #353535;
    /* 線の太さ:上 右 下 左 */
    border-width: 2px 3px 4px 0px;
    transform: skewY(-45deg);
    content: '';
}

 

上側の影を作る

右枠と同じようにafter疑似要素の「skewX」関数で要素を傾ける。「top」「left」で位置を調整し、「 border-width」で枠線の太さを調整し完成

h2::after {
    position: absolute;
    top: -16px;
    left: 4px;
    width: 100%;
    height: 10px;
    border: solid #353535;
    /* 線の太さ:上 右 下 左 */
    border-width: 3px 2px 0px 4px;
    transform: skewX(-45deg);
    content: '';
}

 

すべてのソース

コードを表示

<h2>CSSでつくる見出しデザイン</h2>
h2 {
    position: relative;
    padding: 1rem;
    border: 3px solid #353535;
    color: #353535;
    font-size: 26px;
    font-weight: bold;
}

h2::before,
h2::after {
    position: absolute;
    border: solid #353535;
    content: '';
}

h2::before {
    top: -10px;
    right: -16px;
    width: 10px;
    height: 100%;
    border-width: 2px 3px 4px 0px;
    transform: skewY(-45deg);
}

h2::after {
    top: -16px;
    left: 4px;
    width: 100%;
    height: 10px;
    border-width: 3px 2px 0px 4px;
    transform: skewX(-45deg);
}

@ハクト

サービス作り・デザイン好き。70年代生まれのWEBエンジニア。WEBパーツをCSSでカスタマイズしてコピペできるサービスを運営中「Pa-tu」。実装したWEBパーツやツールを利用してWEB情報やライフハックを発信してます。

Twitter