質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

948閲覧

CSSに関する記述で不明な点があります。

kaji120

総合スコア39

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/04/02 12:57

CSSの最後の記述の.clearfix:before, .clearfix:after {content:""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }の部分ですが、わからない部分が二つありあます。

一つは、content:"";の部分でcontentが何故空なのかという部分です。
二つ目は、なぜbefore,afterを使ったのかという部分です。
直接書き込んでもよかったのではないかと考えております。

ご回答宜しく意お願い致します。

HTML
コード<!DOCTYPE html>

<html lang="ja"> ``` <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Copmpatible" content="IE=edge,chrome=1"> <title>Introduction to Responsive Web Design</title> <meta name="viewport" content="width=devaice-width"> <!-- css読み込み --> <link rel="stylesheet" href="css/main.css"> <link rel="stylesheet" href="css/resuponsive.css"> <!-- /css読み込み --> </head> <body> <!-- ヘッダー --> <div class="header"><div class="section-inner"> <h1>EXample Header</h1> </div></div> <!-- ヘッダ --> <!-- ナビ --> <div class="nav"><div class="section-inner"> <ul class="clearfix"> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Sample Link 1</a></li> <li><a href="#">Sample Link 2</a></li> <li><a href="#">Sample Link 3</a></li> <li><a href="#">Sample Link 4</a></li> <li><a href="#">Portfolio</a></li> <li><a href="#">Contact</a></li> </ul> </div></div><!-- ナビ --> <!-- ボディーコンテンツ --> <div class="body-content"><div class="section-inner"> <!-- thirds --> <div class="thirds clearfix"> <!-- <one-thirdas> --> <div class="one-third mobile-cpllapse"> <img src="1.jpg" aria=" bird on afence"> <h2>Section One</h2> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sedndo eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div><!-- one-third --> <div class="one-third one-third-second mobile-collape"> <img src="2.jpg" src="A bird eating"> <h2>Section Two</h2> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div><!-- one-third --> <div class="one-third one-third-last mobile-collape"> <img src="3.jpg" src="A cat"> <h2>Section Three</h2> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div><!-- one-third --> </div><!-- third --> <!-- Two colums --> <div class="two-colums clearfix"> <!-- メイン --> <div class="main mopbile-collapse"> <h2>Primary Content Section</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div><!-- メイン --> <!-- サイド --> <div class="side mobile-collapse">
<!-- info-box --> <div class="info-box-a"> <h4>Important Content</h4> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</p> </div><!--/info-box--> <!-- info-box --> <div class="info-box-b hide-mobile"> <h4>Not Vital</h4> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</p> </div><!--/info-box--> <!-- info-box --> <div class="info-box-b hide-mobile"> <h4>Not Vital</h4> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</p> </div><!--/info-box-->
</div><!--/side--> </div><!-- Two-colums --> </div></div><!-- body-content --> <!-- footer --> <div class="footer"><div class="section-inner"> <p>Footer text placed here.</p> </div></div><!--/footer--> </body> </html> ```

CSS

1コードh1, h2, h3, h4, h5, h6, p { 2 margin: 0; 3 padding: 0; 4} 5 6p { 7 margin: 0 0 1em 0; 8 font-size: 93%; 9 line-height: 1.5em; 10} 11 12body { 13 font-family: Arial, Helvetica, sans-serif; 14 padding: 0; 15 margin:0; 16 background-color: #3f3f3f; 17} 18 19img { 20 max-width: 100%; 21 height: auto; 22 margin: 0 0 10px 0 ; 23} 24 25div.section-inner { 26 max-width: 1100px; 27 padding: 0 25px; 28 margin: 0 auto; 29} 30 31div.header { 32 background-color: #E9e9e9; 33} 34 35div.nav { 36 background-color: #d4d4d4; 37} 38 39div.nav ul { 40margin: 0; 41padding: 0; 42} 43 44div.nav ul li { 45 list-style: none; 46 float: left; 47 font-size: 93%; 48} 49 50div.nav ul li a:link, 51div.nav ul li a:visited { 52 display: block; 53 padding: 10px 15px; 54 text-decoration: none; 55 color: #000; 56} 57 58div.body-content { 59 padding: 50px 0; 60 background: #FFF; 61} 62 63div.thirds{ 64 padding-bottom: 50px; 65} 66 67div.one-third { 68 width: 30%; 69 float: left; 70 margin-right: 5%; 71} 72 73div.one-third-last { 74 margin: 0; 75} 76 77div.main { 78 width: 60%; 79 float: left; 80 margin-right: 5%; 81} 82 83div.side { 84 width: 30%; 85 float: left; 86} 87 88div.info-box-a { 89 background-color: #9bdaef; 90 padding: 20px; 91 font-size: 13px; 92 margin: 0 0 15px 0; 93} 94 95div.info-box-b { 96 background-color: #efdb7f; 97 padding: 20px; 98 font-size: 13px; 99 margin: 0 0 15px 0; 100} 101 102 div.footer { 103 background-color: #3f3f3f; 104 color: #FFF; 105 padding: 15px 0; 106 text-align: center; 107 } 108 109 .clearfix:before, .clearfix:after {content:""; display: table; } 110.clearfix:after { clear: both; } 111.clearfix { *zoom: 1; } 112 113 */ 114

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

一つは、content:"";の部分でcontentが何故空なのかという部分です。

content: "あ";と記述してみてください。画面上に「あ」という文字が出てきてしまいます。
「あ」など不要な文字を表示したくないため、空する必要があります。

二つ目は、なぜbefore,afterを使ったのかという部分です。
直接書き込んでもよかったのではないかと考えております。

CSS側からみると、別に直接書き込んでも構いません。
が、HTML側からみると謎の空の<li>が存在してしまうことになります。

HTML

1<ul> 2 <li class="clear的なクラス名1"></li> 3 <li>...</li> 4 <li>...</li> 5 <li class="clear的なクラス名2"></li> 6</ul>

CSS

1.clear的なクラス名1 { 2 clear: both; 3 /* 省略 */ 4} 5.clear的なクラス名2 { 6 clear: both; 7 /* 省略 */ 8}

あとは、他者がソースコードを更新する際に、広く普及する「.clearfix」が削除されてしまう可能性は低いですが、
空のliタグは削除されてしまっても不思議ではないため、それを回避するためにafterなど疑似要素を使っている..、ということも考えられます。

(.clearfixのバージョンが古いのと、そもそもfloat: left;での横並びは古い点は気になりました。「display: flex;」による方法をおすすめします。)

投稿2020/04/02 13:37

編集2020/04/02 22:20
new1ro

総合スコア4528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaji120

2020/04/05 03:38

ご回答ありがとうございます。 古い動画を見て作成していたようでした。他のテキストを確認したところdisplay:flexが一般的なようでしたので、そちらで代用致します。
guest

0

ベストアンサー

一つは、content:"";の部分でcontentが何故空なのかという部分です。

何かないと疑似要素を発生させられないからです。

直接書き込んでもよかったのではないかと考えております。

いえ、フロート解除を行うには別に要素が必要です。疑似要素を使わずに直接は行なえません(overflow: hiddenなど、別系統の手法はありますが)。

投稿2020/04/02 13:01

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaji120

2020/04/05 03:40

ご回答ありがとうございます。 わざわざ違う方法も教えて頂き助かります。是非参考にさせて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問