1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CSSを学びたい Step22 空コンテンツの制御

Posted at

はじめに

CSSを学びたいStep22です!!空コンテンツの制御をCSSで実施していこうと思います!

成果物

image.png

ソースコード

index.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>空コンテンツの制御</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <h2>空コンテンツの制御の例</h2>
  <div class="container">
    <div class="empty-element"> </div> <!-- 空白文字が含まれているが、視覚的には空 -->
    <div class="non-empty-element">コンテンツがあります。</div>
    <div class="parent-element">
      <p>子要素があります。</p>
    </div>
    <div class="parent-element"></div>
    <div class="empty-element"></div> <!-- 完全に空の要素 -->
    <div class="parent-element">
      <span>別の子要素があります。</span>
    </div>
  </div>
</body>
</html>
styles.css
body {
  font-family: Arial, sans-serif;
  background-color: #f4f4f4;
  margin: 0;
  padding: 20px;
}

h2 {
  text-align: center;
  color: #333;
}

.container {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.container > div {
  background-color: #ddd;
  padding: 20px;
  text-align: center;
}

/* 空の要素を非表示にする */
.container > div:empty {
  display: none;
}

/* 子要素として <p> を持つ親要素を非表示にする */
.container > div:has(p) {
  display: none;
}

おまけ

image.png

index.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>空コンテンツの例</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <h2>空コンテンツの例</h2>

  <div class="container">
    <div class="empty-element"> </div> <!-- 空白文字が含まれているが、視覚的には空 -->
    <div class="non-empty-element">コンテンツがあります。</div>
    <div class="parent-element">
      <p>子要素があります。</p>
    </div>
    <div class="parent-element"></div>
    <div class="empty-element"></div> <!-- 完全に空の要素 -->
    <div class="parent-element">
      <span>別の子要素があります。</span>
    </div>
  </div>

  <script src="script.js"></script>
</body>
</html>
styles.css
body {
  font-family: Arial, sans-serif;
  background-color: #f4f4f4;
  margin: 0;
  padding: 20px;
}

h2 {
  text-align: center;
  color: #333;
}

.container {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.container > div {
  background-color: #ddd;
  padding: 20px;
  text-align: center;
}

/* 空の要素を非表示にする */
.container > div:empty {
  display: none;
}

/* 子要素として <p> を持つ親要素を非表示にする */
.container > div:has(p) {
  display: none;
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?