2013-05-08 8 views
0
<div class="parent"> 
    <div class="left-child"> 
     <img src="logo.jpg" alt="logo"> 
    </div> 
    <div class="right-child"> 
     <form action="#"> 
      <input type="text" value="search"> 
     </form> 
    </div> 
</div> 

로고 높이가 left-child 인 경우 수직 중심 right-child 양식으로 지정하고 싶습니다.div의 세로 중심 맞춤 양식

나를 도와 줄 사람이 있습니까?

추 신 : 사용자가 로고를 업로드합니다. 그래서 나는 로고 높이에 대해 잘 모른다.

+1

JavaScript를 사용하여 각 div의 높이를 계산 한 다음 상단 여백을 (DIV_left - DIV_right)/2로 결정하고 양식에 여백을 적용하십시오. – tgormtx

+0

이미 사용중인 CSS는 무엇입니까? – j08691

+0

@ j08691 내 양식에이 CSS 코드가 있습니다. 양식 { 여백 : 0 0 20px; }'. – Giri

답변

3

것을 알고, 세로 방향으로 양식에 맞게 새 div. 나는 그것이 효과가 있기를 바란다. 이미지 너비는 고정되었지만 삭제할 수 있습니다. http://jsfiddle.net/BfZFJ/

귀하의 CSS :

.parent { 
    border: 1px dashed red; 
    display: table;   
    overflow: auto; 
    } 

    .left-child img { 
    width: 50px; 
    height: 50px; 
    } 

    .left-child { 
    border: 1px dashed blue;   
    } 

    .right-child { 
    border: 1px dashed green; 
    display: table-cell; 
    vertical-align: middle;       
    } 

    #your_form { 
    margin: 0 auto; 
    width: 200px; 
    } 

당신의 HTML :

<div class="parent"> 
    <div class="left-child"> 
     <img src="icons.jpg" alt="logo" /> 
    </div> 
    <div class="right-child"> 
     <div id="your_form"> 
      <form action="#"> 
       <input type="text" value="search" /> 
      </form>    
     </div>    
    </div> 
</div> 

포옹, 빈.

+0

테이블 레이아웃 (CSS를 통해, 비 의미 론적이지 않은) win ... 이것은 더 많은 브라우저에서 유연한 박스가 지원 될 때까지 수행됩니다. –

0

HTML :

<div class="parent"> 
    <div class="left-child"> 
     <div><img src="logo.jpg" alt="logo" /></div> 
    </div> 
    <div class="right-child"> 
     <form action="#"> 
      <input type="text" value="search1" /><br/> 
      <input type="text" value="search2" /><br/> 
      <input type="text" value="search3" /> 
     </form> 
    </div> 
</div> 

CSS :

.parent { 
    height: 400px; 
    width: 100%; 
    position: relative; 
} 

.left-child { 
    width: 50%; 
    height: 100%; 
    display: table; 
    position: absolute; 
} 
.left-child div { 
    display: table-cell; 
    vertical-align: middle; 
    text-align: center; 
} 

.right-child { 
    width: 50%; 
    height: 100%; 
    display: table; 
    position: absolute; 
    left: 50%; 
} 

.right-child form { 
    display: table-cell; 
    vertical-align: middle; 
    text-align: center; 
} 

Credits

Fiddle

0

미래에 더 나은 대답은 플렉스 박스를 사용하게 될 모델

여기