<div class="page"> <div id="header"> <div id="title"> <h1>Welcome to my blog</h1> </div> <div id="logindisplay"> <% Html.RenderPartial("LogOnUserControl"); %> </div> <div id="menucontainer"> <% Html.RenderPartial("UserMenuControl"); %> </div> </div> <div class="main"> <asp:ContentPlaceHolder ID="MainContent" runat="server" /> <div id="footer"> </div> </div> </div>
.page{ width: 90%; margin-left: auto; margin-right: auto;}#header{ position: relative; margin-bottom: 0px; color: #000; padding: 0;}div#title{ display:block; float:left; text-align:left;}#logindisplay{ font-size:1.1em; display:block; text-align:right; margin:10px; color:White;}#menucontainer{ margin-top:40px; }
私が聞きたいのは、その理由です
float:left の理由については、#logindisplay スタイルに clear:both; を追加して、フローティング スタイルをクリアします
上記はすべて正解です
float:left の理由については、clear:both; を追加します。 #logindisplay スタイルをクリアします。 フローティング スタイル
タイトルと logindisplay を同じ行に配置する場合は、logindisplay に float: を追加する必要があります。
タイトルは float を使用してテキスト フローから切り離され、元のテキスト フロー レイアウトを尊重しなくなりましたが、親に基づいて配置されますが、他の子は引き続き元のテキスト フロー レイアウトに従います。
logindisplay は元のタイトルの位置を占めています...logindisplay が駆け上がりました