47歳でやむなくセミリタイア

病気のためセミリタイアをすることに。現在は週20時間程度のバイトをしています。その他、雑多なことを記録として書いています。

CSSのfloat設定にハマったので記録しておく

Yii2はWebアプリケーションを作るものなので、cssJavaScriptなどでWeb画面を作っていくのですが、floatとtext-align:centerの組み合わせで躓いたのでメモしておきます。

やりたかったこと

以下のような感じで、ヘッダ部分に、左右にアイテムを置いて、真ん中にタイトルを置くような画面を作りたかった。
f:id:ekutajp:20190915182752p:plain

書いたコード

floatを使って、アイテムを左右に散らして、タイトル部分をcenterで記載してみました。

<div style="float:left;"> XXXシステム </div>
<div style="text-align:center;"> タイトル </div>
<div style="float:right;"> ログアウト </div>

どうなったか

以下のように、右においたアイテムが、下にずれて表示されてしまいます。
f:id:ekutajp:20190915183735p:plain

何が悪かったのか

以下のように、align:centerをするタイトル部分は一番下に置かないといけなかった。

<div style="float:left;"> XXXシステム </div>
<div style="float:right;"> ログアウト </div>
<div style="text-align:center;"> タイトル </div>

どうもtext-align:centerを使うと、その行が使い尽くされて、次の行に移るような動作をするようです。
text-align:centerをしない場合には、この3行をどんな順番で記述しても同じ表示になります(当然センタリングはされませんが)。

これ結構長い時間ハマってしまいました。センタリングを別の方法にしてみたりと色々と試行錯誤して、やっと何が起きているのかわかりました。