2013-04-22 2 views
2

양해 해 주셔서 감사합니다. 높이와 최소 높이가 100 % 인 왼쪽 메뉴를 만들 필요가 있습니다. 예를 들면 다음과 같습니다. 웹 사이트가 나던 많은 콘텐츠가있는 경우 웹 사이트 콘텐츠를 많이 가지고 있다면높이와 최소 높이가있는 왼쪽 메뉴

, 왼쪽 메뉴 하단 에 가야한다, 왼쪽 메뉴는 하단으로 이동해야하지만, 스크롤와 ...

왼쪽과 오른쪽 div를 항상해야 100 %

Image Example http://www.diegomenezes.com/stack.jpg

그것은 OU가 JSFiddle 링크를 볼 수있는 HTML5

다음

를 사용할 수 http://jsfiddle.net/6gSYn/

여기 내 코드! 여기

<div id="container"> 
    <div id="top"><h1>TESTE</h1></div> 
    <div id="content"> 
     <div id="left"> 
     <ul class="lista"> 
      <li>ITEM 1</li> 
      <li>ITEM 1</li> 
      <li>ITEM 1</li>     
      <li>ITEM 1</li> 
      <li>ITEM 1</li> 
      <li>ITEM 1</li> 
      <li>ITEM 1</li> 
      <li>ITEM 1</li> 
     </ul> 
     </div> 
     <div id="right"> 
     <p>TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE </p>   

      <div id="footer"> 
      <p>TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE </p> 
      </div> 
    </div> 
    </div>  

</div> 
CSS를

@charset "utf-8"; 
/* CSS Document */ 

* { 
margin: 0px; 
padding: 0px; 
} 
html { 
    height: 100%; 
} 

body { 
background: darkgrey; 
height: 100%; 

} 

#container {  
height: 100%; 
position: relative; 
} 

#top { 
height: 100px; 
width: 100%; 
background-color: black; 
color: white; 
float:left; 
} 

#content { 
background: darkgrey; 
width:100%; 
min-height: 100%; 
height:100%; 
} 

#content ul.lista { 
width: 250px; 
display: inline-block; 
vertical-align: top; 
background: lightgrey; 
color: red; 
bottom: 0; 
} 


#right { 
width: 1000px; 
color: blue; 
display: inline-block; 
padding: 10px; 
min-height: 400px; 
} 


#footer { 
color: black; 
height: 50px; 
text-align: center; 
width: 100%; 
} 
+0

왜 최소 높이 100 %? 왜 높이 100 %? –

+0

수 있습니다! 하지만 콘텐츠가 조금이라도 있다면 바닥까지 내려 가야합니다 ...하지만 모든 것을 시도했지만 아무런 효과가 없습니다! –

+0

메뉴 하단에 싶습니까? 언제나? 왜 맨 아래에? 꼭 아니고? – DiederikEEn

답변

0

이 시도하고 당신을 위해 일한으로 말할 여부 jsfiddle
CSS :

#right { 
    overflow-y: scroll; 
} 

td { 
    vertical-align:top; 
} 
+0

@navand 감사합니다. 내가 시도한 접근 방법입니다 ...하지만 최선의 방법은 아닙니다 ... 해결책을 찾지 못하면 이것을 시도해보십시오! –

+0

'

'을 사용하고 싶지 않으십니까? – navand

+0

@ navand 요즘 누구 요? http://stackoverflow.com/q/83073/156755 – Basic

0

내가 거기에 생각하지 않는다 ~이다. 순수한 css이 문제의 해결책. 이해하기 쉽고 구현하기 어려운 진드기가있을 수 있습니다. 오히려 작은 자바 스크립트 또는 정확하게 jQuery를 사용하여 문제를 해결할 수 있습니다.

$(document).ready(function(){ 
// making the height of the right container same as the left one 

    leftContainerHeight = $('#leftContainer').outerHeight(); 
    $('#rightContainer').height(leftContainerHeight); 

//or 

// making the height of the right container same as the left one 

    rightContainerHeight = $('#leftContainer').outerHeight(); 
    $('#leftContainer').height(rightContainerHeight); 

}); 

js이 설정됩니다 -

는 follows- 지금

<div id="mainContainer"> 
    <div id="leftContainer"> 
     <p>Some contents which you want to put in the left blovk</p> 
    </div> 
    <div id="rightContainer"> 
     <p>Some contents which you want to put in the right blovk</p> 
    </div> 
</div> 

leftContainerrightContainer가 동일한 폭을 갖는이 두 사업부를 만들기 위해 당신이 어떤 js 추가하는 데 필요한 코드 블록을 가정 할 수 있습니다 관심있는 컨테이너의 높이. 그러나 하나의 후퇴는 당신의 dom이 정말로 무겁거나 방문자가 느린 연결을 가지고 있다면 높이뛰기가 발생할 것입니다. 즉, 페이지가로드되는 즉시 종속 컨테이너의 높이가 급격하게 증가한다는 것을 알 수 있습니다. 이 문제를 방지하려면로드하는 GIF 이미지 또는 단순히 콘텐츠의 fadeIn 효과를 사용할 수 있습니다. 페이드 인 효과에 대해 자세히 알 수 있습니다. here

여기가 바이올린입니다. 여기에 더 도움이 필요하면

http://jsfiddle.net/6gSYn/9/

주시기 바랍니다.

감사합니다.

0

높이 : 모든 브라우저에서 제대로 작동하려면 100 % 부모 요소의 높이를 픽셀 높이로 지정해야합니다. 때로는 콘텐츠가 지정된 높이보다 더 많은 공간을 필요로하기 때문에이 작업은 복잡합니다. 이 문제를 해결하기 위해 자바 스크립트를 사용할 수는 있지만 항상 최선의 해결책은 아닙니다.

관련 문제