2015-01-12 2 views
0

가운데에 로고가 정렬되고 측면에 메뉴 옵션이있는 CSS/HTML 탐색 메뉴를 만들어야합니다.양측에 두 개의 유동 열과 폭 : 중간 열에 대해 자동입니다.

http://jsfiddle.net/d32an55L/

<div id="wrapper"> 
    <div id="left">aaaa</div> 
    <div id="center"> Center content</div> 
    <div id="right">aaaa</div> 
</div> 

#wrapper{ 
    display:table; 
    width:100%; 
    height:100%; 
} 
#wrapper > div{ 
    display:table-cell; 
    height:100%; 
} 
#left { 
    background-color:pink; 
    text-align:right; 
} 
#center { 
    background-color:green; 
    width:100px; 
} 
#right { 
    background-color:red; 
} 
body, html{ 
    width:100%; 
    height:100%; 
} 

것은 내가 열, 폭과 같은 내부의 내용에 맞게 중간 열의 너비를 만드는 방법을 알고하지 않는 것이 : 나는 이런 식으로 일을 생각 : 자동;

할 수 있는지 알고 계십니까? 이것을 달성하는 더 좋은 방법이 있습니까?

감사합니다.

편집 : 필자가 필요로하는 것은 가운데 열을 포함하는 내용으로 가로 열을 유동적으로 유지하는 것입니다.

+0

나는 당신이 무엇을 요구하고 있는지 잘 모르겠습니다. 'width : auto;'는 내용이 적어도 한 줄의 공백을 채우지 않으면 나머지 페이지와 비교하여 내용의 비율로 열의 크기를 조정합니다. 사이드 탐색에 관해서는 일반적으로 사이드 바에 고정 폭을 설정하기 만하면됩니다. –

+0

좋습니다 중간 열의 너비가 포함 된 내용의 너비와 양쪽 열이 유동적이어야하기 만하면됩니다. 이것이 내가 성취하고자하는 것을 분명하게 해줍니까? – human

답변

0

당신이 의도를 분명히하는 것에 유의하면서, 이것을 할 수있는 방법은 2 가지 밖에 없습니다. 역 호환성을 유지해야하는 경우 JavaScript를 사용해야합니다. 현대적인 브라우저에만 관심이 있다면 CSS3에는 flex이라는 display 모드가 있습니다. 사용하기가 매우 쉽습니다. 여기를 구현하기 위해 수정 된 CSS는 다음과 같습니다

#wrapper { 
    display:-webkit-box; 
    display:-moz-box; 
    display:-ms-flexbox; 
    display:-webkit-flex; 
    display:flex; 
    width:100%; 
    height:100%; 
} 

#wrapper > div { 
    height:100%; 
} 

#left { 
    background-color:pink; 
    text-align:right; 
    flex:1 0 auto; 
} 

#center { 
    background-color:green; 
    flex:0 1 auto; 
} 

#right { 
    background-color:red; 
    flex:1 0 auto; 
} 

body, html { 
    width:100%; 
    height:100%; 
} 

JSFiddle : 당신은 오래된 브라우저에 대한 호환성이 필요한 경우 http://jsfiddle.net/cwj7132y/

, 내가 뭔가를 그릴 수 있습니다.

+0

그게 다야! 그러나 나는 약간의 브라우저 호환성에 대해 우려하고있다. 그것을 달성하기 위해 브라우저 호환성이 아닌 자바 스크립트 방법이 있습니까? 감사! – human

+0

@human 느린 회신으로 인해 죄송합니다. ^^ '추가 디스플레이를 통해 IE10 및 다른 주요 브라우저와의 하위 호환성을 얻을 수 있지만 JavaScript 이외의 Flash 외부에서 사용자가 원하는 바에 대한 해결책을 모릅니다. 기본적으로 해당 열의 내용을 렌더링하고 필요한 공간을 결정한 다음 해당 값을 고정 폭으로 사용하여 전체 페이지를 다시 렌더링해야합니다. 이는 클라이언트 측 스크립트에서만 가능합니다. –

관련 문제