[TIL 27]CSS主要属性2
position
Positionプロパティは、要素を配置する方法を指定します.
positionプロパティとして指定し、top、bottom、left、rightで正しい位置を決定します.
positionのデフォルト値はstaticで、デフォルト値はドキュメントの流れに基づいて配置されます.
希望する位置に置きたい場合は、Propertyを使用します.
positionのpropertyは3種類あります.
相対
もっと詳しい説明は以下で見てみましょう.
📎 postion:relative
ドキュメントのプロセスに従って配置され、他の要素に影響を与えません.
relative
は、上、左、右、下の値に座席を指定することもできます.コードで書きましょう.
<div class="content-test">
<div class="box"></div>
<div class="box second"></div>
<div class="box"></div>
<div class="box"></div>
</div>
.content-test {
margin:100px auto;
width: 900px;
height: 300px;
border: 5px solid #000;
}
.box {
width:25%;
border:2px solid #000;
height:290px;
background-color:#fff;
float:left;
}
.second {
position:relative;
top:20px;
right:20px;
}
コードで集中的に表示する必要がある場所は.second
です.relative
の値を与えて位置を移動すると、標準位置から位置値をあげると移動します
📎 position:absolute
ドキュメントの流れに基づいて配置し、相対値を与える親要素に基づいて配置します.
positionはtop、left、right、bottom値に位置を指定することもできます.
コードで書きましょう.
<div class="content-test">
<div class="box"></div>
</div>
.content-test {
margin:100px auto;
width: 900px;
height: 300px;
border: 5px solid #000;
position:relative;
}
.box {
width:100px;
height:100px;
border:2px solid #000;
background-color:#fff;
position:absolute;
top:100px;
left:400px;
}
コードで重点的に見るべき点は.位置:絶対と.conntent-testのposition:相対.
position:absoluteは、与えられた相対値の親要素に対して配置されます.
使用する場合は、移動するエレメントの親エレメントに相対値を付与し、位置値を決定します.
📎 position:fixed
ドキュメントフローに従うのではなく、bodyの周囲を展開して配置します.
position:fixed
は、ほとんどの上端メニューバーや、ある場所に固定する必要があるサイトでよく使用される属性です.position:fixedで同時に使用する場合、良い属性はz-indexです.
簡単に言えば、z−indexは、スタック順序を決定する属性と見なすことができる.
なぜz-indexと書くのですか?🧐
たとえば、上部のメニューバー
position:fixed
を使用します.そのメニューバーはスクロールしてもその位置に固定されている.
しかし、下には必ず内容があり、メニューバーが内容に遮られて見えない場合があります.
この場合、
z-index : 1
と書けば内容は隠されない.すべてのコンテンツの先頭に表示されます.
実際の操作でz-indexを使用する場合👍
z-indexが私の考え通りに1.22102000と書けば、
これもコードの作成方法で、私だけが前に何が現れたかを見ることができます.
z-indexの順序を変更する場合は、他のz-indexを変更する必要がある場合もあります.
会社は主に協力して、私が書いたコードも修正します.
実務ではほとんどの分野でz-indexの区間が設定されています.
例えば、ヘッダーは1-9/10-19/フッター20-39
もちろん、一番上の内容は最大のz-index値を与えるべきです.
(YouTube動画で知った事実🤭)
コードで書きましょう.
<header>
<nav class="gnb">
<ul>
<li><a href="#home">HOME</a></li>
<li><a href="#about">ABOUT</a></li>
<li><a href="https://hello-dodohee.github.io/game.html/">PORTFOLIO</a></li>
<li><a href="#contact">CONTACT</a></li>
</ul>
</nav>
</header>
header{
position:fixed;
top:0;
left:0;
width:100%;
height:100px;
z-index:1;
background-color:rgba(255,255,255,0.3);
box-shadow: 0 0 30px -20px;
}
コードで集中的に表示する必要がある場所はheader
です.メニューバーを一番上にスクロールしても、一番上に固定して一番前に表示したいです.
position:fixed
およびtop:0
およびz-index
の値が与えられる.📎 position:sticky
ドキュメントのプロセスに従って配置し、最近の親要素に基づいて配置します.
実はstickyはあまり使わないので、今回習ったときはよく知らなかったです.
stickyはほとんどメニューバーが長くなったりスクロールしたりしたときに
カテゴリ(親要素)が固定されると他のカテゴリが表示され、他のカテゴリは固定されます.
block inline
block要素は常に新しい行から始まり、総幅を占めます.
Inline要素は新しい行から開始せず、必要な幅だけを占有します.
blockとinlineの違いが分かれば、
cssを使用して、必要に応じて要素をブロックまたはインライン化できます.
displayプロパティの3種類は、propertyを使ってコードを記述すればよい.
📎 display:none
display:noneは、非表示要素を処理するために使用されます.
📎 display:block
display:blockはspan、aは
Blockのように見えるProperty
block要素の横(左右)に他の要素を貼り付けることはできません.
📎 display:inline
display:inline htmlのblock要素を
インラインのpropertyのように見えます.
inline要素は要素の間の1行に位置することができ、隣接しています.
📎 display:inline-block
block要素をinline要素に変換し、inline要素をblockのpropertyに変換します.
display: inline
との違いは、幅と高さを設定できることです.display: block
とは異なり、display: inline-block
要素の後に改行文字を追加しない場合、要素は他の要素の横に配置することができる.float
プロパティは、画像の周囲にテキストを配置できるように作成されます.
レイアウトに使用する一般的なプロパティ.
floatのプロパティは3つ覚えられます.
floatを使用しない場合は、3つの箱が縦に並んでいます.
これはblockプロパティのためです.
ただし、各ボックスにfloat:leftを記入すると、横に並べて並べられていると判断できます.
コードで書きましょう.
.box1{
width:300px;
height:150px;
background-color:pink;
float:left;
}
.box2{
width:300px;
height:150px;
background-color:yellow;
float:left;
}
.box3{
width:300px;
height:150px;
background-color:blue;
float:left;
}
📎 clear
フローティングを初期化します.floatプロパティのアプリケーションバージョンと考えられます.
写真のコードでは、各箱がfloa:leftで、羅列を続ければ
親の要素の大きさを超えると、箱は下がります.
そこで3番目の箱から降りたいなら、clearと書いてもいいです.
.testbox{
width:700px;
height:700px;
margin:auto;
border:5px solid #000;
}
.testbox > div {
background-color:goldenrod;
width:200px;
height: 200px;
float:left;
}
.testbox > div:nth-child(3){
clear:left;
}
コードで重要な点は3番目のボックスでclear:左をくださいfloat:leftプロパティをキャンセルしたと考えられます.
Reference
この問題について([TIL 27]CSS主要属性2), 我々は、より多くの情報をここで見つけました https://velog.io/@_dodo_hee/TIL-27-CSS-주요-속성-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol