CSSのみを使用してdivを並べ替えるにはどうすればよいですか?


266

他の要件のためにHTMLを変更できないテンプレートがある場合、HTML 内でその順序になっていないときに、div上にaを上に表示(再配置)するにはどうすればよいdivですか?どちらにもdiv高さと幅が異なるデータが含まれています。

<div id="wrapper">
    <div id="firstDiv">
        Content to be below in this situation
    </div>
    <div id="secondDiv">
        Content to be above in this situation
    </div>
</div>
Other elements

うまくいけば、望ましい結果は次のとおりです。

Content to be above in this situation
Content to be below in this situation
Other elements

寸法が固定されている場合、必要な場所に配置するのは簡単ですが、コンテンツが可変である場合のアイデアが必要です。このシナリオでは、幅を両方とも100%と見なしてください。

私は特にCSSのみのソリューションを探しています(それがうまくいかない場合は、おそらく他のソリューションで満たす必要があります)。

これに続く他の要素があります。私がデモンストレーションした限られたシナリオを踏まえて、良い提案が述べられました。それが最良の答えである可能性がありますが、これに続く要素が影響を受けないことも確認したいと考えています。

回答:


279

このソリューションはCSSのみを使用し、可変コンテンツで機能します

#wrapper   { display: table; }
#firstDiv  { display: table-footer-group; }
#secondDiv { display: table-header-group; }

3
いいね!IE8以下では動作しませんが、これらのブラウザーでは条件付きスクリプトを使用できます...
Stuart Wakefield

1
IE7では機能しないことは事実ですが、IE8では問題ありません
Jordi

3
はい、これはモバイルコンテンツの並べ替えに非常に適しています。IEの懸念はありません。最初に定義され、通常のレイアウトでは左側に表示されるメニューを考えますが、狭いモバイルディスプレイの下部に表示させたいとします。これは非常にうまくトリックを行います。
モーフル2014

13
これはフロートでは機能しないことに注意してください。float:noneを設定する必要があります。フロートセットが既にある場合。
トーマス

5
注:img { max-width: 100% }並べ替えられた要素内では機能しません。
JonasÄppelgran16年

240

CSSのみのソリューションIE10 +で機能)– Flexboxのorderプロパティを使用:

デモ:http : //jsfiddle.net/hqya7q6o/596/

#flex { display: flex; flex-direction: column; }
#a { order: 2; }
#b { order: 1; }
#c { order: 3; }
<div id="flex">
   <div id="a">A</div>
   <div id="b">B</div>
   <div id="c">C</div>
</div>

詳細:https : //developer.mozilla.org/en-US/docs/Web/CSS/order


1
注文はここで機能します。しかし、子供たちは100%の幅を得ていません。代わりに、彼らは同じ列のスペースを共有しています。この方法で各子供に100%の幅をどのように利用できるか考えていますか?
aniskhan001 2016年

8
#flex { display: flex; flex-direction: column; }100%幅の行を表示します。jsfiddle.net/2fcj8s9e
ジャスティン

それはtransformより広いブラウザのサポートを使用して行うことができます
Finesse

iPhone 6s以下ではサポートされていません
AntonAL 2018年

4
このソリューションでは、任意の数のdivに対して任意の順序を選択できます。これは、承認されたソリューションIMOである必要があります。
mareoraft

83

他の人が言ったように、これはCSSでやりたいことではありません。絶対的な位置と奇妙なマージンでそれをごまかすことができますが、それは堅牢なソリューションではありません。あなたのケースでの最良のオプションは、JavaScriptを使用することです。jQueryでは、これは非常に単純なタスクです。

$('#secondDiv').insertBefore('#firstDiv');

より一般的には:

$('.swapMe').each(function(i, el) {
    $(el).insertBefore($(el).prev());
});

2
時には、より強力な人に譲ることが最善です。この場合、これはよりエレガントに感じられ、実際に制御できます。そのため、これはすっきりとしていて良いと思います。
2016

35

これはFlexboxを使用して行うことができます。

display:flexflex-flow:column-reverseの両方を適用するコンテナを作成します。

/* -- Where the Magic Happens -- */

.container {
  
  /* Setup Flexbox */
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  /* Reverse Column Order */
  -webkit-flex-flow: column-reverse;
  flex-flow: column-reverse;

}


/* -- Styling Only -- */

.container > div {
  background: red;
  color: white;
  padding: 10px;
}

.container > div:last-of-type {
  background: blue;
}
<div class="container">
  
  <div class="first">

     first

  </div>
  
  <div class="second">

    second

  </div>
  
</div>

出典:


25

前フレキシボックスのユーザーエージェントをサポートしながら、あなただけではCSSを通じて望むものを達成する方法(絶対にありませんほとんどが古いIEは) - 場合を除き

  1. 各要素の正確なレンダリングされた高さがわかります(そうであれば、コンテンツを絶対的に配置できます)。動的に生成されたコンテンツを扱っている場合、あなたは運が悪いです。
  2. これらの要素の正確な数がわかります。繰り返しますが、動的に生成されるコンテンツのいくつかのチャンクに対してこれを行う必要がある場合、特に3つ以上ある場合は、うまくいきません。

上記が当てはまる場合、要素を絶対的に配置することで、必要なことを実行できます-

#wrapper { position: relative; }
#firstDiv { position: absolute; height: 100px; top: 110px; }
#secondDiv { position: absolute; height: 100px; top: 0; }

繰り返しますが、少なくとも#firstDivに必要な高さがわからない場合は、CSSだけで必要な高さを実現することはできません。このコンテンツのいずれかが動的である場合は、JavaScriptを使用する必要があります。


まず、私もこれに反対票を投じましたが、元に戻しました。ただし、条件のせいで少し改善されていますが、並べ替える要素の正確な数を知る必要ありませただし、その数が3を超える場合除きます(賞金獲得の回答をご覧ください)。これは特にOPにのみ関連し、特に2つのアイテムのみを交換したいと考えています。
Sz。

16

これが解決策です:

<style>
#firstDiv {
    position:absolute; top:100%;
}
#wrapper {
    position:relative; 
}

しかし、ラッパーdivに続くコンテンツがあると思います...


はい...状況について余計なことを言わないようにしますが、他の要素があります。提供される限られたHTMLを考えると良い提案です-他の誰かのために働くかもしれません。
devmode 2008年

7

CSS3フレックスボックスレイアウトモジュールを使用すると、divを注文できます。

#wrapper {
  display: flex;
  flex-direction: column;
}
#firstDiv {
  order: 2;
}

<div id="wrapper">
  <div id="firstDiv">
    Content1
  </div>
  <div id="secondDiv">
    Content2
  </div>
</div>

5

知っている、またはto-beper-up要素のサイズを強制できる場合は、

position : absolute;

あなたのCSSで、divに彼らの位置を与えてください。

それ以外の場合は、javascriptが唯一の方法と思われます。

fd = document.getElementById( 'firstDiv' );
sd = document.getElementById( 'secondDiv' );
fd.parentNode.removeChild( fd );
sd.parentNode.insertAfter( fd, sd );

または同様のもの。

編集:これは便利かもしれないこれを見つけました:w3 document css3 move-to


5

負の上部マージンはこの効果を実現できますが、ページごとにカスタマイズする必要があります。たとえば、このマークアップ...

<div class="product">
<h2>Greatest Product Ever</h2>
<p class="desc">This paragraph appears in the source code directly after the heading and will appear in the search results.</p>
<p class="sidenote">Note: This information appears in HTML after the product description appearing below.</p>
</div>

...そしてこのCSS ...

.product { width: 400px; }
.desc { margin-top: 5em; }
.sidenote { margin-top: -7em; }

... 2番目の段落を最初の段落の上に引っ張ることができます。

もちろん、異なる長さのCSSを手動で調整して、イントロの段落が適切な量にジャンプするようにする必要がありますが、他のパーツの制御が制限されていて、マークアップとCSSの制御が完全にできない場合、これはオプションになる可能性があります。 。


4

まあ、少し絶対的な配置といくつかの怪しげなマージン設定で、私は近づくことができますが、それは完璧ではないか、きれいではありません。

#wrapper { position: relative; margin-top: 4em; }
#firstDiv { position: absolute; top: 0; width: 100%; }
#secondDiv { position: absolute; bottom: 0; width: 100%; }

「margin-top:4em」は特に厄介なビットです。このマージンは、firstDivのコンテンツの量に応じて調整する必要があります。あなたの正確な要件に応じて、これは可能かもしれませんが、とにかく誰かがこれをしっかりした解決策のために構築できるかもしれないことを願っています。

JavaScriptに関するエリックのコメントは、おそらく追求されるべきです。


3

これはCSSでのみ実行できます!

この同様の質問に対する私の答えを確認してください:

https://stackoverflow.com/a/25462829/1077230

私は自分の答えを二重に投稿したくありませんが、親がフレックスボックス要素になる必要があるというのが不足しています。例えば:

(ここではwebkitベンダープレフィックスのみを使用しています。)

#main {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

次に、divの順序を次のように示すことで入れ替えます。

#main > div#one{
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
    overflow:visible;
}

#main > div#two{
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
}

3

CSSで、最初のdivを左または右にフロートします。2番目のdivを最初と同じように左または右にフロートします。2番目のdivに上記の2つのdivを適用するclear: leftright同じです。

例えば:

#firstDiv {
    float: left;
}

#secondDiv {
    float: left;
    clear: left;
}

<div class = "container"> <div id = "secondDiv"> <p> ... </ p> </ div> <div id = "firstDiv"> <p> ... </ p> </ div> </ div>
Vestel

私の場合、float:右です。クリア:左。完璧に働く
user956584

クリアを使用するのは素晴らしい方法ですが、要素を正しい方向にフロートさせ、他のすべての要素をフロートさせて正しく行う必要があることに注意してください。Vestelでは、次のようなスタイルを使用する必要があります。<style> #secondDiv、#firstDiv {float:left; } #firstDiv {clear:left; } </ style> <div class = "container"> container <div id = "secondDiv"> <p> secondDiv </ p> </ div> <div id = "firstDiv"> <p> firstDiv </ p> </ div> </ div>
Reza Amya 14

3

CSSだけを使用する場合は、Flexを使用できます。

.price {
    display: flex;
    align-items: center;
    justify-content: center;

    flex-direction: row-reverse; //revert horizontally
    //flex-direction: column-reverse; revert vertically
}
<div class="price">
      <div>first block</div>
      <div>second block</div>
</div>


2

私は、モバイルバージョンでのみdivの順序を変更して、スタイルを整える方法を探していました。nickfの返信のおかげで、このコードを自分の望みどおりに機能させることができたので、皆さんと共有することにしました。

//  changing the order of the sidebar so it goes after the content for mobile versions
jQuery(window).resize(function(){
    if ( jQuery(window).width() < 480 )
    {
        jQuery('#main-content').insertBefore('#sidebar');
    }
    if ( jQuery(window).width() > 480 )
    {
        jQuery('#sidebar').insertBefore('#main-content');
    }
    jQuery(window).height(); // New height
    jQuery(window).width(); // New width
});

1

より大きなブラウザをサポートするソリューションとフレックスボックス(IE≥9で動作):

#wrapper {
  -webkit-transform: scaleY(-1);
  -ms-transform: scaleY(-1);
  transform: scaleY(-1);
}
#wrapper > * {
  -webkit-transform: scaleY(-1);
  -ms-transform: scaleY(-1);
  transform: scaleY(-1);
}
<div id="wrapper">
    <div id="firstDiv">
        Content to be below in this situation
    </div>
    <div id="secondDiv">
        Content to be above in this situation
    </div>
</div>
Other elements

display: table;ソリューションとは対照的に、このソリューション.wrapperは子供がいる場合に機能します。


divに画像が含まれている場合はどうなりますか?
Ramji Seetharaman、2018年

0

display: flexand を指定して、親divにflexを使用するだけflex-direction : columnです。次に、順序を使用して、どの子divが最初に来るかを決定します


2
7年前の質問に対するこの回答が、すでに投稿されている質問よりも優れていると思うのはなぜですか。SOに参加したい場合は、(良い)回答のない質問を見つけて、すべての訪問者にとって役立つような方法で回答してください。
Marki555

-1

CSSは、HTMLバックエンドの再構築に使用すべきではありません。ただし、両方の要素の高さがわかっていて、ハックを感じている場合は可能です。また、div間を移動するときにテキストの選択が混乱しますが、これはHTMLとCSSの順序が逆であるためです。

#firstDiv { position: relative; top: YYYpx; height: XXXpx; }
#secondDiv { position: relative; top: -XXXpx; height: YYYpx; }

ここで、XXXおよびYYYは、それぞれfirstDivおよびsecondDivの高さです。これは、トップの回答とは異なり、末尾の要素で機能します。


次に何をすべき「再構築にHTMLを使用すること」と、スクリーンリーダーのためのナビゲーションの前にコンテンツを置く、と言いますか?
Damian Yerrick

-1

私が作成したはるかに優れたコードがあります。それはとても大きいので、両方を表示するだけです... 4x4のテーブルを作成し、1つ以上のセルを垂直方向に配置します。

IEのハックも、vertical-align:middleも使用しません。全然...

垂直方向のセンタリングのdisplay-table、display:table-romには使用しません。表示:テーブルセル;

2つのdivを持つコンテナーのトリックを使用します。1つは非表示(位置は正しくありませんが、親は適切な変数サイズになります)、1つは非表示の直後に表示されますが、top:-50%です。正しい位置への移動です。

トリックを作成するdivクラスを参照してください:BloqueTipoContenedor BloqueTipoContenedor_VerticalmenteCentrado BloqueTipoContenido_VerticalmenteCentrado_Oculto BloqueTipoContenido_VerticalmenteCentrado_Visible

クラス名にスペイン語を使用して申し訳ありません(スペイン語を話すため、英語を使用すると迷子になるので注意が必要です)。

完全なコード:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="en" />
<meta name="language" content="en" />
<title>Vertical Centering in CSS2 - Example (IE, FF & Chrome tested) - This is so tricky!!!</title>
<style type="text/css">
 html,body{
  margin:0px;
  padding:0px;
  width:100%;
  height:100%;
 }
 div.BloqueTipoTabla{
  display:table;margin:0px;border:0px;padding:0px;width:100%;height:100%;
 }
 div.BloqueTipoFila_AltoAjustadoAlContenido{
  display:table-row;margin:0px;border:0px;padding:0px;width:100%;height:auto;
 }
 div.BloqueTipoFila_AltoRestante{
  display:table-row;margin:0px;border:0px;padding:0px;width:100%;height:100%;
 }
 div.BloqueTipoCelda_AjustadoAlContenido{
  display:table-cell;margin:0px;border:0px;padding:0px;width:auto;height:auto;
 }
 div.BloqueTipoCelda_RestanteAncho{
  display:table-cell;margin:0px;border:0px;padding:0px;width:100%;height:auto;
 }
 div.BloqueTipoCelda_RestanteAlto{
  display:table-cell;margin:0px;border:0px;padding:0px;width:auto;height:100%;
 }
 div.BloqueTipoCelda_RestanteAnchoAlto{
  display:table-cell;margin:0px;border:0px;padding:0px;width:100%;height:100%;
 }
 div.BloqueTipoContenedor{
  display:block;margin:0px;border:0px;padding:0px;width:100%;height:100%;position:relative;
 }
 div.BloqueTipoContenedor_VerticalmenteCentrado{
  display:block;margin:0px;border:0px;padding:0px;width:100%;height:auto;position:relative;top:50%;
 }
 div.BloqueTipoContenido_VerticalmenteCentrado_Oculto{
  display:block;margin:0px;border:0px;padding:0px;width:100%;height:auto;visibility:hidden;position:relative;top:50%;
 }
 div.BloqueTipoContenido_VerticalmenteCentrado_Visible{
  display:block;margin:0px;border:0px;padding:0px;width:100%;height:auto;visibility:visible;position:absolute;top:-50%;
 }
</style>
</head>
<body>
<h1>Vertical Centering in CSS2 - Example<br />(IE, FF & Chrome tested)<br />This is so tricky!!!</h1>
<div class="BloqueTipoTabla" style="margin:0px 0px 0px 25px;width:75%;height:66%;border:1px solid blue;">
 <div class="BloqueTipoFila_AltoAjustadoAlContenido">
  <div class="BloqueTipoCelda_AjustadoAlContenido">
   [1,1]
  </div>
  <div class="BloqueTipoCelda_AjustadoAlContenido">
   [1,2]
  </div>
  <div class="BloqueTipoCelda_RestanteAncho">
   [1,3]
  </div>
  <div class="BloqueTipoCelda_AjustadoAlContenido">
   [1,4]
  </div>
 </div>
 <div class="BloqueTipoFila_AltoAjustadoAlContenido">
  <div class="BloqueTipoCelda_AjustadoAlContenido">
   [2,1]
  </div>
  <div class="BloqueTipoCelda_AjustadoAlContenido">
   [2,2]
  </div>
  <div class="BloqueTipoCelda_RestanteAncho">
   [2,3]
  </div>
  <div class="BloqueTipoCelda_AjustadoAlContenido">
   [2,4]
  </div>
</div>
 <div class="BloqueTipoFila_AltoRestante">
  <div class="BloqueTipoCelda_RestanteAlto">
   <div class="BloqueTipoContenedor" style="border:1px solid lime;">
    <div class="BloqueTipoContenedor_VerticalmenteCentrado" style="border:1px dotted red;">
     <div class="BloqueTipoContenido_VerticalmenteCentrado_Oculto">
     The cell [3,1]
     <br />
     *&nbsp;*&nbsp;*&nbsp;*
     <br />
     *&nbsp;*&nbsp;*&nbsp;*
     <br />
     *&nbsp;*&nbsp;*&nbsp;*
     <br />
     Now&nbsp;is&nbsp;the&nbsp;highest&nbsp;one
     </div>
     <div class="BloqueTipoContenido_VerticalmenteCentrado_Visible" style="border:1px dotted blue;">
     The cell [3,1]
     <br />
     *&nbsp;*&nbsp;*&nbsp;*
     <br />
     *&nbsp;*&nbsp;*&nbsp;*
     <br />
     *&nbsp;*&nbsp;*&nbsp;*
     <br />
     Now&nbsp;is&nbsp;the&nbsp;highest&nbsp;one
     </div>
    </div>
   </div>
  </div>
  <div class="BloqueTipoCelda_RestanteAlto">
   <div class="BloqueTipoContenedor" style="border:1px solid lime;">
    <div class="BloqueTipoContenedor_VerticalmenteCentrado" style="border:1px dotted red;">
     <div class="BloqueTipoContenido_VerticalmenteCentrado_Oculto">
      This&nbsp;is<br />cell&nbsp;[3,2]
     </div>
     <div class="BloqueTipoContenido_VerticalmenteCentrado_Visible" style="border:1px dotted blue;">
      This&nbsp;is<br />cell&nbsp;[3,2]
     </div>
    </div>
   </div>
  </div>
  <div class="BloqueTipoCelda_RestanteAnchoAlto">
   <div class="BloqueTipoContenedor" style="border:1px solid lime;">
    <div class="BloqueTipoContenedor_VerticalmenteCentrado" style="border:1px dotted red;">
     <div class="BloqueTipoContenido_VerticalmenteCentrado_Oculto">
      This is cell [3,3]
      <br/>
      It is duplicated on source to make the trick to know its variable height
      <br />
      First copy is hidden and second copy is visible
      <br/>
      Other cells of this row are not correctly aligned only on IE!!!
     </div>
     <div class="BloqueTipoContenido_VerticalmenteCentrado_Visible" style="border:1px dotted blue;">
      This is cell [3,3]
      <br/>
      It is duplicated on source to make the trick to know its variable height
      <br />
      First copy is hidden and second copy is visible
      <br/>
      Other cells of this row are not correctly aligned only on IE!!!
     </div>
    </div>
   </div>
  </div>
  <div class="BloqueTipoCelda_RestanteAlto">
   <div class="BloqueTipoContenedor" style="border:1px solid lime;">
    <div class="BloqueTipoContenedor_VerticalmenteCentrado" style="border:1px dotted red;">
     <div class="BloqueTipoContenido_VerticalmenteCentrado_Oculto">
      This&nbsp;other is<br />the cell&nbsp;[3,4]
     </div>
     <div class="BloqueTipoContenido_VerticalmenteCentrado_Visible" style="border:1px dotted blue;">
      This&nbsp;other is<br />the cell&nbsp;[3,4]
     </div>
    </div>
   </div>
  </div>
 </div>
 <div class="BloqueTipoFila_AltoAjustadoAlContenido">
  <div class="BloqueTipoCelda_AjustadoAlContenido">
   [4,1]
  </div>
  <div class="BloqueTipoCelda_AjustadoAlContenido">
   [4,2]
  </div>
  <div class="BloqueTipoCelda_RestanteAncho">
   [4,3]
  </div>
  <div class="BloqueTipoCelda_AjustadoAlContenido">
   [4,4]
  </div>
 </div>
</div>
</body>
</html>

-1

パーティーには少し遅れますが、これを行うこともできます:

<div style="height: 500px; width: 500px;">

<div class="bottom" style="height: 250px; width: 500px; background: red; margin-top: 250px;"></div>

<div class="top" style="height: 250px; width: 500px; background: blue; margin-top: -500px;"></div>


-2

または、要素に絶対位置を設定し、オブジェクトの端ではなくページの端から宣言してマージンを取り除きます。他の画面サイズなどに適した%を使用します。これは私が問題を克服した方法です...ありがとう、あなたの探しているものを願っています...


-3

CSSのみのソリューションの場合1.ラッパーの高さを固定するか、2。2番目のdivの高さを固定する必要があります


これは、質問されている質問に実際に答えることはできません。可能な解決策をほのめかすコメントにすぎません。
cimmanon

-3
.move-wrap {
    display: table;
    table-layout: fixed; // prevent some responsive bugs
    width: 100%; // set a width if u like
    /* TODO: js-fallback IE7 if u like ms */
}

.move-down {
    display: table-footer-group;
}

.move-up {
    display: table-header-group;
}

2
このソリューションは、すでに3年あなたの前に投稿されました:stackoverflow.com/a/12069537/1652962
cimmanon

-4

それはCSSで簡単です、ただ使用display:blockしてz-indexプロパティ

次に例を示します。

HTML:

<body>
    <div class="wrapper">

        <div class="header">
            header
        </div>

        <div class="content">
            content
        </div>
    </div>
</body>

CSS:

.wrapper
{
    [...]
}

.header
{
    [...]
    z-index:9001;
    display:block;
    [...]
}

.content
{
    [...]
    z-index:9000;
    [...]
}

編集:正しく表示background-colorするためdiv-sにいくつかをに設定することをお勧めします。


-4

これを行う簡単な方法があります。

<!--  HTML  -->

<div class="wrapper">

    <div class="sm-hide">This content hides when at your layouts chosen breaking point.</div>

    <div>Content that stays in place</div>

    <div class="sm-show">This content is set to show at your layouts chosen breaking point.</div>

</div>

<!--  CSS  -->

    .sm-hide {display:block;}
    .sm-show {display:none;}

@media (max-width:598px) {
    .sm-hide {display:none;}
    .sm-show {display:block;}
}

あなたの解決策は問題をうまく解決するかもしれません-しかし、なぜ/どのようにそれを行うのか説明してもらえますか?S / Oにはたくさんのブランド初心者がいて、彼らはあなたの専門知識から何かを学ぶことができます。あなたにとって明白な解決策であるかもしれないものは、彼らにとってそうではないかもしれません。
Taryn East、2015

それ自体のコードブロックは通常は有用な回答ではなく、反対票を集める可能性が高くなります。表示しているソリューションの内容と、そのコードが質問に答える理由/方法説明してください。
j_s_stack 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.