보통은 절대 위치 지정된 div 안에 top:50%
및 margin-left:-(height/2)
이있는 버튼을 가운데에 놓았지만 오늘은 완벽하지 않거나 올바르게 사용하는 방법을 알지 못합니다.절대 위치 div의 버튼을 수직으로 정렬
예를 들어 2 가지 예를 들었습니다. 첫 번째 예에서 <a>
태그는 인라인 요소이고 두 번째 예에서는 block
요소입니다. block
요소를 사용한 위치 지정은 완벽하지만 불행히도 너비는 100 %입니다.
display:block;
으로 두 번째 예제가 잘 작동하는 이유를 설명하십시오.
저는 크로스 브라우저 솔루션에 관심이 많습니다. 이 간단한 일들을 어떻게합니까? 여기
내 CSS입니다 :.container {
height:240px;
position:relative;
}
.box {
width:200px;
height:100%;
position:absolute;
left:0;
top:0;
background:yellow;
text-align:center;
padding:20px;
}
#example2 { left: 250px; }
.btn {
display:inline-block;
padding:5px 12px;
line-height:34px;
color:#fff;
background:red;
position:relative;
top:50%;
margin-top:-17px;
}
#example2 .btn { display:block; }
.. 그리고 html로
<div class="container">
<div id="example1" class="box">
<a href="" class="btn">button</a>
</div>
<div id="example2" class="box">
<a href="" class="btn">button</a>
</div>
</div>
온라인 버전은 http://jsfiddle.net/79hqgabq/2/
고맙습니다 만 작동하지만 왜 디스플레이 : 블록을 사용할 때 내 버전이 좋을까요? 디스플레이 : 플렉스 버전 디스플레이가있는 버튼이 100 % 너비가 아닌 이유는 무엇입니까? 이전 버전의 브라우저를 지원해야하므로이 플렉스 버전을 기다려야합니다. – user3852837
나는 그것을 조사하고 너에게 돌아갈 것이다. - 아직 완벽한 반응을 알아 내지 못했다. – Schybo
고마워! 나는 정말로 그것에 관심이있다. 또한이 점에 대해 크로스 브라우저 모범 사례가 무엇인지 알고 싶습니다. – user3852837