2013-06-14 8 views
0

내가 왼쪽 고정 폭 오른쪽 사이드 바 사이에서 사용 가능한 공간을 차지 유체 영역에 주요 내용이 같은 플로트 모든과 레이아웃을 가지고는 : 왼쪽 -유체 DIV를 사용 가능한 전체 너비로 확장하려면 어떻게합니까?

#left-sidebar {width: 200px;} 
#right-sidebar {width: 300px;} 
#main-content {margin-left: 200px; margin-right: 300px} 

내가 물건 경우 # main-content 모든 것이 예상대로 작동합니다.

# 메인 콘텐츠의 콘텐츠가 거의 없으면 너비가 축소되어 내 레이아웃이 고르지 않습니다.

나는 # 메인 컨텐츠

<div>a a a a a a a a a a a a a a a a a a a a a a a a a a a a a </div> 

의 끝 부분에 추가하고 숨겨진로 가시성을 설정하는 매우 우아 해킹을 사용하고 있습니다.

그런 식으로 사용할 수있는 너비까지 확장 될 것이지만 나는 덜 해킹 된 것을 기대하고 있습니다.

과 같이

(도없이, 100 %, # 메인 컨텐츠 폭, 또는 내 일부 요소의 폭을 설정하는 것과 같은 간단한는 해결책이 아니다. 말)

+0

당신 폭을 사용할 수없는 경우 : 100 %; 페이지의 구조가 잘못되었거나 잘못된 형식이어야합니다. – user1596138

+0

어떻게 그 3 div, 인라인 블록을 표시합니까? 부유? 다른 방법들 ? –

+0

Q에서 언급 한대로 GCyrillus는 모두 왼쪽으로 떠있었습니다. Jhawinsss : 무언가가 잘못되었습니다. – terraling

답변

1

당신은 100 %의 폭을 뺀 사이드 바의 폭을 설정 CSS3 Calc를 사용할 수 있습니다

/* Assuming 200px for each sidebar */ 

#main-content { 
    width: calc(100% - 400px) 
} 

데모 : http://jsfiddle.net/wDMfF/

+0

감사합니다. Andrea. 그거야. 나는 Calc에 대해 전혀 몰랐다. 빠르게 그것에 관해 읽을지라도, 문제는 지원이다 (예를 들어 안드로이드에서는 전혀 아니다). – terraling

+0

안드로이드에 대해 언급하지 않은 곳 :> 어떤 브라우저가 어떤 기능을 지원하는지 알고 싶으면 [이 사이트를 항상 참조하십시오] (http://caniuse.com/#feat=calc); 나는 강력하게 부트 스트랩과 같은 인기있는 시스템을 사용하여 데스크톱 및 모바일 응답/유동적 레이아웃을 처리합니다.휠을 재발 명하지 마십시오.) –

+0

부트 스트랩을 사용하지만 고정 유체 고정 레이아웃 옵션을 제공하는 곳을 알려주십시오! caniuse는 내가 그것을 찾은 곳이지만, modernizr은 css calc 호환성을 검사 할 수 있으며, 해결 스크립트로 사용할 수 있습니다. 다시 도움을 청하십시오. – terraling

1

가지고 당신의 CSS를

#left-sidebar {float:left;width: 200px;} 
#right-sidebar {float:right;width: 300px;} 
#main-content {display:block;overflow:hidden;} 

HTML에서 이것은 매우 중요합니다., 우선 사이드 바를으로 초기화 한 다음 나중에 내용 div를 초기화하십시오. 또한 clearfix 클래스와 함께 래퍼를 사용할 수도 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 도움이되지 않았습니다. # 오른쪽 사이드 바에서 플로트를 전환해도 아무런 차이가 없었습니다. 이상하게도 HTML의 순서를 변경하면 사이드 바가 처음으로 레이아웃을 깨뜨린 것이므로 더 이상 못생긴 해킹이 더 이상 작동하지 않습니다. – terraling

+0

이 솔루션을 사용한다면'# main-content'의 CSS – hmhcreative

+0

에 대해'margin'을'padding'으로 바꾸어야한다고 생각합니다. @terraling 분명히 여러분은 그 요소들을 망쳐 놓고있는 다른 엉뚱한 스타일을 가지고 있습니다. Calc는 현재로서는 소수의 브라우저에서만 지원되며 사용하기에 현명한 선택이 아닙니다. 내가 여러분에게 보여준 방법이 가장 좋았으며 크로스 브라우저 방식으로 만 작동하고 하드 코드 값은 포함되지 않는다고 가정합니다. 아주 가난한 선택 calc, 시간을 사용하여 보여줍니다. –

관련 문제