너비가 100 % 인 div가 있습니다.
버튼을 중앙에 배치하고 싶습니다. 어떻게해야합니까?
<div style="width:100%; height:100%; border: 1px solid">
<button type="button">hello</button>
</div>
너비가 100 % 인 div가 있습니다.
버튼을 중앙에 배치하고 싶습니다. 어떻게해야합니까?
<div style="width:100%; height:100%; border: 1px solid">
<button type="button">hello</button>
</div>
답변:
업데이트 된 답변
적극적인 답변임을 알았 기 때문에 업데이트했지만 Flexbox가 올바른 접근 방식입니다.
수직 및 수평 정렬.
#wrapper {
display: flex;
align-items: center;
justify-content: center;
}
가로 만 (기본 플렉스 축이 가로 인 경우 기본값)
#wrapper {
display: flex;
justify-content: center;
}
고정 폭을 사용하고 flexbox를 사용하지 않는 원본 답변
원래 포스터가 고정 된 너비 및 높이의 버튼에 대해 세로 및 가운데 정렬을 쉽게하려면 다음을 시도하십시오.
CSS
button{
height:20px;
width:100px;
margin: -20px -50px;
position:relative;
top:50%;
left:50%;
}
수평 정렬의 경우
button{
margin: 0 auto;
}
또는
div{
text-align:center;
}
당신은 단지 만들 수 있습니다 :
<div style="text-align: center; border: 1px solid">
<input type="button" value="button">
</div>
또는 대신 다음과 같이 할 수 있습니다.
<div style="border: 1px solid">
<input type="button" value="button" style="display: block; margin: 0 auto;">
</div>
첫 번째는 div 내부의 모든 것을 가운데 정렬합니다. 다른 하나는 버튼 만 가운데 정렬합니다.
et voila :
button {
width: 100px; // whatever your button's width
margin: 0 auto; // auto left/right margins
display: block;
}
업데이트 : OP가 수평 및 수직 중심을 찾고 있다면 이 대답 은 고정 너비 / 높이 요소에 대해 수행합니다.
여백 : 0 자동; 수평 중심에 대해서만 정답입니다. jquery를 사용하여 이와 같은 방식으로 작동하는 두 가지 방법을 가운데에 맞추려면 다음을 수행하십시오.
var cenBtn = function() {
var W = $(window).width();
var H = $(window).height();
var BtnW = insert button width;
var BtnH = insert button height;
var LeftOff = (W / 2) - (BtnW / 2);
var TopOff = (H / 2) - (BtnH /2);
$("#buttonID").css({left: LeftOff, top: TopOff});
};
$(window).bind("load, resize", cenBtn);
업데이트 ... 5 년 후 , 부모 DIV 요소에서 flexbox를 사용하여 버튼을 수평 및 수직으로 쉽게 중앙에 배치 할 수 있습니다.
최상의 지원을 위해 모든 브라우저 접두사 포함
div {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-align : center;
-moz-box-align : center;
-ms-flex-align : center;
-webkit-align-items : center;
align-items : center ;
justify-content : center;
-webkit-justify-content : center;
-webkit-box-pack : center;
-moz-box-pack : center;
-ms-flex-pack : center;
}
제한된 세부 사항을 제공하면 가장 간단한 상황을 가정하고 사용할 수 있다고 말합니다 text-align: center
.
당신은 여기에 간단하게 가져 가야합니다.
먼저 텍스트 또는 버튼의 초기 위치가 있습니다.
<div style="background-color:green; height:200px; width:400px; margin:0 0 0 35%;">
<h2> Simple Text </h2>
<div>
<button> Simple Button </button>
</div>
</div>
이 CSS 코드 라인을 h2 태그 또는 버튼 태그 를 보유한 div 태그에 추가하여
style : "text-align : center;"
Finaly 결과 코드는 다음과 같습니다.
<div style="background-color:green; height:200px; width:400px; margin:0 0 0 35%;">
<h2 style="text-align:center;"> Simple Text </h2> <!-- <<--- here the changes -->
<div style="text-align:center"> <!-- <<--- here the changes -->
<button> Simple Button </button>
</div>
</div>
이 문제를 극복하고 수직 및 수평 센터링 을 활용 line-height
하고 text-align: center
수행 하는 솔루션을 그대로 두겠다고 생각했습니다 .
너비가 <button type = "button">
가로 세로로 가로로 가운데에 가운데로 정렬 하려면 다음 <div>
과 같이하십시오.
text-align: center;
줄 바꿈으로 설정 <div>
: 이것은 <div>
(또는 오히려 창)의 크기를 조정할 때마다 버튼의 중앙에 위치합니다수직 정렬의 margin: valuepx;
경우 버튼 을 설정해야 합니다. 이것은 계산 방법에 대한 규칙입니다 valuepx
.
valuepx = (wrappingDIVheight - buttonHeight)/2
다음은 JS Bin 데모 입니다.
부모 요소 크기에 관계없이 버튼을 세로 및 가로로 가운데에 배치하는 반응 형 CSS 옵션 (명확성과 분리 문제를 위해 데이터 속성 후크 사용) :
HTML
<div data-element="card">
<div data-container="button"><button>CTA...</button></div>
</div>
CSS
[data-container="button"] {
position: absolute;
top: 50%;
text-align: center;
width: 100%;
}
div에서 버튼을 중앙에 배치하는 반응 형 방법 :
<div
style="display: flex;
align-items: center;
justify-content: center;
margin-bottom: 2rem;">
<button type="button" style="height: 10%; width: 20%;">hello</button>
</div>