Я использую этот код, чтобы выровнять по правому краю кнопку.
<p align="right">
  <input type="button" value="Click Me" />
</p>
Но теги P теряют пространство, поэтому вы хотите сделать то же самое с span или div.
Я использую этот код, чтобы выровнять по правому краю кнопку.
<p align="right">
  <input type="button" value="Click Me" />
</p>
Но теги P теряют пространство, поэтому вы хотите сделать то же самое с span или div.
 Какой метод выравнивания вы используете, зависит от ваших обстоятельств, но основным является float: right; :
<input type="button" value="Click Me" style="float: right;">
 Вы, возможно, захотите очистить свои плавающие объекты, но это можно сделать с помощью overflow:hidden в родительском контейнере или явного <div style="clear: both;"></div> в нижней части контейнера.
Например: http://jsfiddle.net/ambiguous/8UvVg/
 Плавающие элементы удаляются из обычного потока документов, поэтому они могут переполнить родительскую границу и испортить родительскую высоту,  clear:both позаботятся  clear:both CSS (как и overflow:hidden). Поэкспериментируйте с примером JSFiddle, который я добавил, чтобы увидеть, как ведут себя плавающие и очищающие (вы захотите сбросить overflow:hidden сначала overflow:hidden).
Другая возможность - использовать абсолютное позиционирование, ориентированное вправо:
<input type="button" value="Click Me" style="position: absolute; right: 0;">
Вот пример: https://jsfiddle.net/a2Ld1xse/
Это решение имеет свои недостатки, но есть случаи, когда это очень полезно.
Это решение зависит от Bootstrap 3, как указано @günther-jena
Попробуйте <a class="btn text-right">Call to Action</a>. Таким образом вам не нужна дополнительная разметка или правила для очистки всплывающих элементов.
element на block:
.border {
  border: 2px blue dashed;
}
.mr-0 {
  margin-right: 0;
}
.ml-auto {
  margin-left:auto;
}
.d-block {
  display:block;
}<p class="border">
  <input type="button" class="d-block mr-0 ml-auto" value="The Button">
</p>Это не всегда так просто, и иногда выравнивание должно быть определено в контейнере, а не в самом элементе Button!
Для вашего случая решение будет
<div style="text-align:right; width:100%; padding:0;">
    <input type="button" value="Click Me"/>
</div>
 Я позаботился о том, чтобы указать width=100% чтобы быть уверенным, что <div> займет полную ширину своего контейнера.
 Я также добавил padding:0 чтобы избежать до и после пробела, как с элементом <p>.
 Я могу сказать, что если <div> определен в нижнем колонтитуле таблицы FSF/Primefaces, float:right не будет работать правильно, потому что высота Button станет выше, чем высота нижнего колонтитула!
 В этой ситуации Primefaces единственным приемлемым решением является использование text-align:right в контейнере.
При таком решении, если у вас есть 6 кнопок для выравнивания справа, вы должны указать это выравнивание только в контейнере :-)
<div style="text-align:right; width:100%; padding:0;">
    <input type="button" value="Click Me 1"/>
    <input type="button" value="Click Me 2"/>
    <input type="button" value="Click Me 3"/>
    <input type="button" value="Click Me 4"/>
    <input type="button" value="Click Me 5"/>
    <input type="button" value="Click Me 6"/>
</div>
современный подход в 2019 году с использованием flex-box
с тегом div
<div style="display:flex; justify-content:flex-end; width:100%; padding:0;">
    <input type="button" value="Click Me"/>
</div>Другая возможность - использовать абсолютное позиционирование, ориентированное вправо. Вы можете сделать это следующим образом:
style="position: absolute; right: 0;"
Чтобы сохранить кнопку в потоке страницы:
<input type="button" value="Click Me" style="margin-left: auto; display: block;" />
(поместите этот стиль в файл .css, не используйте этот встроенный html, для лучшего обслуживания)
Это решило бы это.
<input type="button" value="Text Here..." style="float: right;">
Удачи с вашим кодом!
В моем случае
<p align="right"/>
работал нормально