CSSclear プロパティは、要素が、先行する 浮動 要素の隣にまわりこむか、それとも、その下に下げられる (関係が解消 (clear) される) 必要があるのかを指定します。clear プロパティは、浮動要素と非浮動要素のどちらにも用いられます。

/* キーワード値 */
clear: none;
clear: left;
clear: right;
clear: both;
clear: inline-start;
clear: inline-end;

/* グローバル値 */
clear: inherit;
clear: initial;
clear: unset;

非浮動要素に用いられると、その要素の ボーダー境界 を動かし、関係するフロートすべての マージン境界 より下になるまで下げます。この動きからは マージンの相殺 は起きません。

浮動要素に用いられると、その要素の マージン境界 を動かし、関係するフロートすべての マージン境界 よりも下に下げます。この動きはそれ以降のフロートの位置に影響しますが、これは、フロートが先行するフロートより高くに置けないためです。

clear の動作に関係するフロートは、同一のブロック整形文脈 内の先行するフロートです。

注記: 浮動要素しか包含しない要素は、高さがなくなります。このような要素を常にリサイズ可能にして浮動要素を包含するようにしたい場合は、その子要素自身に clear を設定しなければなりません。これは clearfix と呼ばれます。また、実現方法のひとつとして、置換 ::after 疑似要素clear を使います。

#container::after { 
  content: "";
  display: block; 
  clear: both;
}

初期値none
適用対象ブロックレベル要素
継承なし
メディア視覚
計算値指定値
アニメーションの種類個別
正規順序形式文法で定義される一意のあいまいでない順序

構文

none
要素は先行するフロートと切り離されず、下に移動しません。
left
要素は先行する 左の フロートと切り離され、下に移動します。
right
要素は先行する 右の フロートと切り離され、下に移動します。
both
要素は先行する 左右両方の フロートと切り離され、下に移動します。
inline-start
要素は、先行する包含ブロックの始端側のフロートの下に移動することを示すキーワードです。これは ltr 表記では左側、rtl 表記では右側のフロートです。
inline-end
要素は、先行する包含ブロックの終端側のフロートの下に移動することを示すキーワードです。これは ltr 表記では右側、rtl 表記では左側のフロートです。

形式文法

none | left | right | both | inline-start | inline-end

clear: left

HTML

<div class="wrapper">
  <p class="black">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus sit amet diam. Duis mattis varius dui. Suspendisse eget dolor.</p>
  <p class="red">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
  <p class="left">This paragraph clears left.</p>
</div>

CSS

.wrapper{
  border:1px solid black;
  padding:10px;
}
.left {
  border: 1px solid black;
  clear: left;
}
.black {
  float: left;
  margin: 0;
  background-color: black;
  color: #fff;
  width: 20%;
}
.red {
  float: left;
  margin: 0;
  background-color: pink;
  width:20%;
}
p {
  width: 50%;
}

clear: right

HTML

<div class="wrapper">
  <p class="black">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus sit amet diam. Duis mattis varius dui. Suspendisse eget dolor.</p>
  <p class="red">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
  <p class="right">This paragraph clears right.</p>
</div>

CSS

.wrapper{
  border:1px solid black;
  padding:10px;
}
.right {
  border: 1px solid black;
  clear: right;
}
.black {
  float: right;
  margin: 0;
  background-color: black;
  color: #fff;
  width:20%;
}
.red {
  float: right;
  margin: 0;
  background-color: pink;
  width:20%;
}
p {
  width: 50%;
}

clear: both

HTML

<div class="wrapper">
  <p class="black">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus sit amet diam. Duis mattis varius dui. Suspendisse eget dolor. Fusce pulvinar lacus ac dui.</p>
  <p class="red">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus sit amet diam. Duis mattis varius dui. Suspendisse eget dolor.</p>
  <p class="both">This paragraph clears both.</p>
</div>

CSS

.wrapper{
  border:1px solid black;
  padding:10px;
}
.both {
  border: 1px solid black;
  clear: both;
}
.black {
  float: left;
  margin: 0;
  background-color: black;
  color: #fff;
  width:20%;
}
.red {
  float: right;
  margin: 0;
  background-color: pink;
  width:20%;
}
p {
  width: 45%;
}

仕様書

仕様書 策定状況 コメント
CSS Logical Properties and Values Level 1
float and clear の定義
編集者草案 inline-start および inline-end を追加
CSS Level 2 (Revision 1)
clear の定義
勧告 重要な変更はないが、細部が明瞭になった
CSS Level 1
clear の定義
勧告 最初期の定義

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応112143.51
Flow-relative values inline-start and inline-end なし なし55 なし なし なし
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応1 あり あり461 あり
Flow-relative values inline-start and inline-end なし なし なし55 なし なし なし

関連情報

ドキュメントのタグと貢献者

このページの貢献者: SphinxKnight, yyss, fscholz, Sebastianz, ethertank, sosleepy
最終更新者: SphinxKnight,