家を買った1年後に仕事を辞める男のブログ Web制作・ライティング・おすすめギア・家事育児・良い時間の使い方などについて発信しています!

初心者が超初心者に毛を生やすプログラミングTips position

さて、前回に引き続きプログラミング始めたての方が躓きやすいポイントについて、解説します。

というか、私が4か月学習しているにも関わらず、いまだにあれ、どうだっけと思ってしまうことがあるので、自分の備忘録的に記事にしてみます。

今回は要素の位置を決めるpositionについてです。ではいきましょう!

いきなり丸投げ!でもこの記事は本当にわかりやすい!

いきなり丸投げで申し訳ありませんが、私はpositionの基礎をこの記事で学びました。
必ず読んでみてください。

本当はいちから自分で記事を書きたい!でもまだスキルがない!すいません!

CSSのpositionを総まとめ!absoluteやfixedの使い方は?

そして今回はほとんどこの記事で理解ができると思います。

2点に絞って私がこの記事だけでは躓いたポイントについて紹介します。

 

たなそう
positionはかなり重要だぜ!

要素の中央に文字を重ねて配置

よく使うのがこれですね。
メインビジュアルに写真を使い、その中央に店の名前やキャッチコピーを入れるみたいな。

で上記の記事からだと親要素にposition:relative;を指定し、子要素にposition:absolute;とtop:50%;とleft:50%;を指定すればよいように思います。

でもそれだと微妙にずれるんですよね。

これはtopとleftに指定した50%は子要素の左上の角の位置だからです。

もし、中央に置きたいp要素に「くまさんくまさんくまさんくまさん」という文字列が入っていたとすると、左角が中央に来るので、文字列は中央より右下に配置されることになります。

これを解消するにはtransform:translate(-50%,-50%);を指定します。

pにtransform:translata(-50%,-50%)を指定すると、x軸方向、y軸方向のそれぞれに指定した要素の半分の長さ移動する感じです。

「くまさんくまさんくまさんくまさん」というpに指定したとすると、y軸方向は「くまさん」の「く」の折れのあたりまで、x軸方向はくまさん×2回分の場所まで移動する、みたいなニュアンスです。

その結果中央に配置できます。ややこいですね。

実際にやってみましょう。下記の演習がわかりやすいです。

https://ninjacode.work/practice/q6.html

 

たなそう
忍者CODEはスキマ時間にゲーム感覚でできて最高!

position:fixedの時の幅

position:fixed;でヘッダーなどを画面上部に固定する、みたいな使い方をよくしますが、fixedを使う場合、

width指定しないといけません。

前回の記事でwidthは指定しなければautoになると書きましたが、親要素にfixedを指定している場合、親要素の幅は子要素の幅で決まることになります。前回の記事のheightに似ているかな。

初心者が超初心者に毛を生やすプログラミングTips width,height

たなそう
例外的なものをちょっとずつ把握していくの大事だと思ってます。

まとめ 中央配置とfixedはめちゃ一般的だからしっかり覚えておこう

私はまだ案件を受注したこともないような素人なので、実務レベルでどれほど重要かはわかりません。

でも普段ネットサーフィンしていてもメインビジュアルに文字が重なっているものやスクロールしても固定表示されるヘッダーはよく見かけますよね?

これらは基本的なレイアウトだと思うので、必ずマスターしておきましょう!

少しわかりにくかったと思うので、また実際のコードを追記したり、課題みたいなものを掲載したいと考えています。

それでは!

 

最新情報をチェックしよう!