컨테이너 요소 상단에 인라인 블록 DIV 정렬


198

두 개의 inline-block div높이가 다른 경우 왜 두 개의 짧은 것이 컨테이너의 상단에 맞지 않습니까? ( 데모 ) :

.container { 
    border: 1px black solid;
    width: 320px;
    height: 120px;    
}

.small {
    display: inline-block;
    width: 40%;
    height: 30%;
    border: 1px black solid;
    background: aliceblue;    
}

.big {
    display: inline-block;
    border: 1px black solid;
    width: 40%;
    height: 50%;
    background: beige;    
}
<div class="container">
    <div class="small"></div>
    <div class="big"></div>
</div>

div용기 상단에 작은 것을 어떻게 정렬 할 수 있습니까?


정도처럼 플로트 : jsfiddle.net/RHM5L/12
AO_


1
수직 정렬 적용 : 상단; .small class
Deepu Sasidharan 님의

1
float을 사용하고 싶지 않습니다. 감사합니다 @ Mr.Alien 그것은 지금 작동합니다 :)
Youssef

답변:


346

vertical-align기본 으로 기본 설정되어 있기 때문 입니다 .

vertical-align:top대신 사용하십시오 :

.small{
    display: inline-block;
    width: 40%;
    height: 30%;
    border: 1px black solid;
    background: aliceblue;   
    vertical-align:top;
}

http://jsfiddle.net/Lighty_46/RHM5L/9/

또는 @ f00644float하위 요소 에도 적용 할 수 있다고 말했습니다 .


플로트를 적용하면 컨테이너가 내 경우처럼 플로트 어린이를 플로팅 한 경우 높이에 문제가 있습니다. 여기 기사를
Youssef

1
왜 이것이 baseline기본값입니까? 나는 타당한 이유가 있다고 확신하지만 예상치 못한 결과는 이상하게 보입니다. 맨해튼 스카이 라인 효과로 끝납니다.
Sridhar Sarnobat

글꼴에는 기준선이 있으므로 세로 맞춤은 글꼴 정렬에 사용됩니다. 기본값이 기준선으로 해석되는 것이 논리적입니다. 이와 같은 다른 경우에는 덮어 써야합니다.
CEED

25

vertical-align두 개의 자식 div에 속성 을 추가해야합니다 .

.small항상 짧은 경우 속성을에 적용하면됩니다 .small. 하나가 가장 높은이 될 수 있다면 그러나, 당신은 모두 재산 적용해야합니다 .small.big.

.container{ 
    border: 1px black solid;
    width: 320px;
    height: 120px;    
}

.small{
    display: inline-block;
    width: 40%;
    height: 30%;
    border: 1px black solid;
    background: aliceblue; 
    vertical-align: top;   
}

.big {
    display: inline-block;
    border: 1px black solid;
    width: 40%;
    height: 50%;
    background: beige; 
    vertical-align: top;   
}

세로 정렬은 인라인 또는 테이블 셀 상자에 영향을 미치며이 속성에 대해 다른 값의 큰 숫자가 있습니다. 자세한 내용은 https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align 을 참조하십시오.


-1
<style type="text/css">
        div {
  text-align: center;
         }

         .img1{
            width: 150px;
            height: 150px;
            border-radius: 50%;
         }

         span{
            display: block;
         }
    </style>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input type='password' class='secondInput mt-4 mr-1' placeholder="Password">
  <span class='dif'></span>
  <br>
  <button>ADD</button>
</div>

<script type="text/javascript">

$('button').click(function() {
  $('.dif').html("<img/>");

})

인라인에서 블록으로 범위의 기본 디스플레이 속성을 변경하면 트릭을 수행 할 것이라고 생각합니다.
holyghostgym

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