Почему float: right должен предшествовать «нормальному» выравниванию по левому краю? - PullRequest
0 голосов
/ 06 сентября 2011
<html>
<head>
   <style type="text/css">
      div, p {border: 1px dashed;}
   </style>
</head>
<body>

<!-- Why must the text that's intended to be right-justified *PRECEED*
   the text that is to be left-justified? It "feels" like the syntax should
   simply read from top to bottom:

   <div>
   "Put some text here"
   "Then put some text here, but align it right"
   </div>

   Instead, this seems to work:
   <div>
   "The right-justified text has to go first"
   "Then we code the 'normal' left-justified text"
   </div>

   I see how to 'make it work', but I'm curious as to the logic behind this
   seemingly 'backwards' syntax.  What am I misunderstanding?
-->

<div>

   <!-- Does NOT work as intended -->
   <div>
      <p>I am on the Left</p>
   </div>

   <div style="float: right;">
      <p>I am on the RIGHT, but I don't align</p>
   </div>


   <br />
   <br />
   <br />


   <!-- Works as intended -->
   <div style="float: right;">
      <p >I am on the RIGHT, and I mostly align</p>
   </div>

   <div>
      <p class="">I am on the Left</p>
   </div>


</div>

</body>
</html>

1 Ответ

0 голосов
/ 06 сентября 2011

Трудно следовать вашему вопросу, потому что вы смешиваете слова justify и float.Текст может быть выровнен вправо или влево, div не может.Они могут быть только плавающими.

Кроме того, ответ на ваш вопрос связан с потоком документов.Я думаю, что вы ожидаете, что вы поместите правый плавающий div после нормального плавающего div, и они окажутся рядом.То есть, вы ожидаете, что правый плавающий div «знает», что вы хотите, чтобы он был рядом с div чуть выше него в потоке документов.

Но почему он должен это знать?

Возможно, вы имеете в виду, что он находится рядом с делением вверх по течению или дальше вниз.Как видите, это отчасти произвольно.И что произойдет, если над ним будет нет div, который будет плавать рядом с ним?

Вместо этого люди, которые собрали CSS, решили, что div будет плавать горизонтально, откуда бы он ни появлялся вдокумент всплывает, выходя из потока в этой точке.Итак, поместив правый плавающий div над нормальным div, вы приказываете ему плавать прямо из этой точки в документе, а все остальное «движется».

Помогло ли это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...