【ソースコード】番外編:疑似要素の練習

目次

※コーディングの解説はCSSのコメントを参照

ディレクトリ構成

    
extra
 ├─img
 │  └─lunch.jpg
 │
 ├─css
 │  └─style.css
 │
 └─index.html
    
  

HTML(index.html)

別タブで開く
index.html

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>タイトル</title>
    <meta name="description" content="テキストテキストテキストテキストテキストテキスト">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://unpkg.com/ress/dist/ress.min.css">
    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="css/style.css">
  </head>

  <body>
    <div class="content">
      <h2 class="title">LUNCH</h2>
      <p class="text">
        テキストテキストテキストテキストテキストテキスト
        テキストテキストテキストテキストテキストテキスト
        テキストテキストテキストテキストテキストテキスト
      </p>
      <img src="img/lunch.jpg" alt="">
    </div>
  </body>
</html>

CSS(style.css)

別タブで開く
style.css

@charset "UTF-8";

html {
  font-size: 100%;
}
body {
  color: #676767;
  font-family: 'Open Sans', sans-serif;
  letter-spacing: 1.2px;
}
img {
  max-width: 100%;
}

.content {
  max-width: 800px;
  margin: 100px auto;
}
/*
【タイトル】
画面幅を縮めた際に、要素が左にはみ出すのを防ぐために
「display: inline-block;」を指定。
タイトルを基準に疑似要素で横線位置を調整するため、
「position: relative;」を設定しておく。
*/
.title {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: normal;
  margin-bottom: 50px;
  position: relative;
}
/*
【タイトル(横線)】
「width」「height」で長さと太さを設定。
「content」を指定することで線が表示される。
「position」「top」「left」で、タイトルを基準に
横線の位置を設定します。
*/
.title::before {
  content: "";
  width: 90px;
  height: 1px;
  background-color: #676767;
  position: absolute;
  top: 50%;
  left: -120px;
}
.text {
  max-width: 460px;
  font-size: 0.875rem;
  line-height: 1.8;
  margin-bottom: 80px;
}

/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 1100px) {
  .content {
    padding: 0 20px;
  }
  .title {
    left: 120px;
  }
}