오른쪽 정렬 된 버튼 배치


225

이 코드를 사용하여 버튼을 오른쪽 정렬합니다.

<p align="right">
  <input type="button" value="Click Me" />
</p>

그러나 <p>태그가 너무와 동일한 기능을 수행 할 찾고, 일부 공간을 낭비 <span>하거나 <div>.


11
align속성은 HTML 4.01에서 더 이상 사용되지 않으며 HTML5에서는 지원되지 않습니다. text-align대신 CSS 를 사용 하여 동일한 효과를 얻으십시오.
브라질 사람

답변:


414

사용하는 정렬 기술은 환경에 따라 다르지만 기본 기술은 float: right;다음과 같습니다.

<input type="button" value="Click Me" style="float: right;">

플로트를 지우고 싶을 수도 있지만 overflow:hidden부모 컨테이너에서 또는 컨테이너 <div style="clear: both;"></div>하단에서 명시 적으로 수행 할 수 있습니다 .

예를 들면 다음과 같습니다. http://jsfiddle.net/ambiguous/8UvVg/

플로팅 된 요소는 일반적인 문서 흐름에서 제거되어 부모의 경계를 오버플로하고 부모의 키를 엉망으로 만들 수 있습니다 ( clear:bothCSS는이를 처리합니다 overflow:hidden). 플로팅과 클리어가 어떻게 동작하는지보기 위해 추가 한 JSFiddle 예제를 살펴보십시오 ( overflow:hidden처음 으로 떨어 뜨리고 싶을 것입니다 ).


35

또 다른 가능성은 오른쪽을 향한 절대 위치를 사용하는 것입니다.

<input type="button" value="Click Me" style="position: absolute; right: 0;">

예를 들면 다음과 같습니다. https://jsfiddle.net/a2Ld1xse/

이 솔루션에는 단점이 있지만 매우 유용한 사용 사례가 있습니다.


부모 요소에 position : relative를 추가하면 정상적으로 작동합니다!
DHRUV GAJWA

23

버튼이 유일한 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>

이 경우 다른 elementsblock:

.border {
  border: 2px indigo dashed;
}

.d-table {
  display:table;
}

.d-table-cell {
  display:table-cell;
}

.w-100 {
  width: 100%;
}

.tar {
  text-align: right;
}
<div class="border d-table w-100">
  <p class="d-table-cell">The paragraph.....lorem ipsum...etc.</p>
  <div class="d-table-cell tar">
    <button >The Button</button>
  </div>
</div>

flex-box:

.flex-box {
  display:flex;
  justify-content:space-between;
  outline: 2px dashed blue;
}

.flex-box-2 {
  display:flex;
  justify-content: flex-end;
  outline: 2px deeppink dashed;
}
<h1>Button with Text</h1>
<div class="flex-box">
<p>Once upon a time in a ...</p>
<button>Read More...</button>
</div>

<h1>Only Button</h1>
<div class="flex-box-2">
  <button>The Button</button>
</div>

<h1>Multiple Buttons</h1>
<div class="flex-box-2">
  <button>Button 1</button>
  <button>Button 2</button>
</div>

행운을 빕니다...


1
margin-left:auto위대하다! 는 !important그것은 미래의 문제가 발생할 수 있습니다, 최악이다.
Tom Brito

안녕하세요 @TomBrito, 답변을로 업데이트했습니다 display: flex;. 모든 것을 처리합니다.
Akash

1
이 답변은 신용도를 얻는 것보다 낫습니다 ... 그냥 사용하지 마십시오! 중요
tpie

11

이 솔루션은 @ günther-jena가 지적한 것처럼 Bootstrap 3에 의존합니다.

시도하십시오 <a class="btn text-right">Call to Action</a>. 이렇게하면 플로팅 된 요소를 지우는 데 추가 마크 업이나 규칙이 필요하지 않습니다.


1
죄송합니다. 앵커 태그의 상위 컨테이너에 "텍스트 오른쪽"을 넣을 때만 작동합니다.
Jonathan Laliberte

8

flex-box를 사용한 2019 년의 현대적인 접근 방식

DIV 태그

<div style="display:flex; justify-content:flex-end; width:100%; padding:0;">
    <input type="button" value="Click Me"/>
</div>

스팬 태그

<span style="display:flex; justify-content:flex-end; width:100%; padding:0;">
    <input type="button" value="Click Me"/>
</span>


5

또 다른 가능성은 오른쪽을 향한 절대 위치를 사용하는 것입니다. 이 방법으로 할 수 있습니다 :

style="position: absolute; right: 0;"

2
물론 부모가있는 경우 div제한을 무시합니다.
Hassan Baig

5

항상 그렇게 간단한 것은 아니며 때때로 정렬은 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버튼 높이가 바닥 글 높이보다 높아지기 때문에 올바르게 작동하지 않는다고 말할 수 있습니다 !

이 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>

3

페이지 플로우에서 단추를 유지하려면 다음을 수행하십시오.

<input type="button" value="Click Me" style="margin-left: auto; display: block;" />

(그 스타일을 .css 파일에 넣고, 더 나은 유지 관리를 위해이 HTML을 인라인으로 사용하지 마십시오)


0

이것은 그것을 해결할 것입니다.

<input type="button" value="Text Here..." style="float: right;">

코드와 함께 행운을 빌어 요!


3
이것은 최고 점수 답변의 사본입니다
Günther Jena

0

내 경우에는

<p align="right"/>

잘 작동


1
이것은 대답이 아니다 align 속성은 HTML 4.01에서 더 이상 사용되지 않고 HTML5에서 지원되지 않습니다. 대신 CSS 텍스트 정렬을 사용하여 동일한 효과를 얻으십시오
Sfili_81

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.