Плавающий встроенный элемент справа от div - PullRequest
9 голосов
/ 12 марта 2010

Я хочу выровнять встроенный элемент вправо от элемента div. Я видел float = "right", примененный к диапазону, чтобы выровнять его по правому краю, но мне это кажется семантически неправильным, поскольку float должен перемещать "блоки" или блокировать элементы вправо или влево от элемента контейнера.

Правильно ли я понимаю Float или есть другой способ правильного выравнивания встроенных элементов в контейнере DIV.

Ответы [ 2 ]

6 голосов
/ 12 марта 2010

float: right идеально подходит ко всем элементам, на уровне блоков или внутри строки, это не имеет значения, семантически или согласно спецификации (насколько я знаю).

Если вы хотите что-то выровнять по правому краю без использования float, тогда есть вероятность margin-right: 90%; (если вы знаете, что то, что выровнено по правому краю от / против, вписывается в остальные 10%.

Или direction: rtl;, но это никогда не работает так, как я думаю, плюс это, вероятно, усложнит ситуацию.

position: absolute; right: 0; будет делать так, как вам нужно (но он будет удален из потока документа и будет расположен против первого из его родительских элементов, у которого есть определенный position: relative; (или, по крайней мере, определенный position) ).

Возможно, вы могли бы использовать text-align: right, но это кажется таким простым решением, что, я уверен, вы уже пробовали его.

Если бы вы могли предоставить пример использования, некоторый код и указание на ожидаемый конечный результат, мы могли бы помочь вам больше.

5 голосов
/ 12 марта 2010

Плавающий элемент автоматически превращает его в коробку. (См .: http://css.maxdesign.com.au/floatutorial/introduction.htm) Однако в этом нет ничего семантически неправильного. Семантика не диктует, что должно отображаться в виде блока, а что должно отображаться в строке - это одна из причин, почему мы можем объявить это произвольно. (Конечно, это становится грязным , когда вы начинаете брать слова из их порядка - но я сомневаюсь, что это то, о чем вы говорите здесь, так как я не могу представить случай, когда вы захотите сделать это и оставьте его встроенным.)

Более того, если вам нужно выровнять немного встроенного текста независимо от потока обычного текста (что делает плавание), вы все равно действительно хотите отобразить его как блок. Если это действительно встроенный элемент, все, что вам нужно, это text-align:right - все, что вам нужно, с плавающей точкой или объявленной позицией, уже обрабатывается как блочный элемент, поэтому нет ничего плохого в том, чтобы объявить его как таковой.

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