2012-06-19 2 views
3

안녕하세요. HTML에서 내 div의 문제가 있습니다. 크롬에서 올바르게 설정했지만 파이어 폭스 나 IE를 사용할 때 마지막 줄은 다음 줄에 있습니다. 화면 넓이에 맞게 3 div를 설정하는 방법

body 
{ 
height: 100%; 
margin: 0; 
padding: 0 ; 
border: 0 none; 
} 
#left 
{ 
background-color:#EEEEEE; 
height:570px; 
width:73.9%; 
float:left; 
} 
#menu 
{ 
background-color:#D4EAE4; 
color:#535353; 
height:570px; 
width:15.25%; 
float:left; 
margin:0; 
} 
#vis 
{ 
background-color:#D4EAE4; 
float:left; 
width:11%; 
height:570px; 
margin:0; 
} 
#container 
{ 
width:98%; 
padding-left:1%; 
padding-right:1%; 
} 
#header 
{ 
background-color:#4671D5; 
-moz-border-radius-topleft: 100px 50px; 
    border-top-left-radius: 100px 50px; 
    -moz-border-radius-topright: 100px 50px; 
    border-top-right-radius: 100px 50px; 
} 

가 어떻게이 사업부의 너무 다른 브라우저에서 완벽하게 서로에 맞게 만들 수 있습니다

:

<div id="container"> 
    <div id="header"></div> 
    <div id="left"></div> 
    <div id="menu"></div> 
    <div id="vis"></div> 
    <div id="footer"></div> 
<div> 

그리고 그들의 CSS : 여기

내 코드? Chrome은 내가 필요한 것입니다. Safari는 vismenu2px 사이의 간격을 제공하고 IE와 Firefox는 내 마지막 div을 새 행에 넣습니다. 머리글과 바닥 글은 괜찮습니다. 난 그냥 당신이 당신의 PC에서 그것을 테스트 할 수 있도록 넣어. 그리고 나는 이것을 모든 결의안에 사용할 수 있기를 원하면서 %을 갖고 싶습니다.

답변

3

변경 메뉴 CSS

#menu 
{ 
background-color:#D4EAE4; 
color:#535353; 
height:570px; 
width:15.1%;//previos 15.25% 
float:left; 
margin:0; 
} 

에 72 %에 왼쪽 DIV의 크기를 감소 시도 각 브라우저에서 동일합니다. 정의되지 않은 경우 브라우저는 기본값을 사용하며 다양한 브라우저에서 다양한 값을 가질 수 있으므로 정확한 너비 계산이 실패 할 수 있습니다.

+0

그게 다야. 정확히 내가 필요한 것! 나는 5 분 안에 받아 들일 수있다. –

+0

이것이 문제를 해결합니까? 테스트를해야 할 수도 있습니다. 왜냐하면 내가 테스트했을 때 div가 여전히 랩 어라운드를하기 때문입니다. 나는 여기에 해결책을 가지고 : http://jsfiddle.net/J5fVj/ –

+0

내 대답은 아래의 작업 코드의 사본을 참조하십시오. –

1

3 개의 div의 백분율이 100 %를 약간 상회하여 문제가 될 수 있습니다. 난 당신이 또한 div#container에 대한 margin (예 margin: 0;)이 일을 정의해야한다고 생각 데모를 http://jsfiddle.net/J5fVj/2/

+0

오른쪽에 나는 풋터와 헤더에 문제가있어 갭이있다. 이 코드를 사용하여 빠른 HTML 페이지를 만들려고 할 수 있습니까? 그래서 당신은 무엇이 잘못되었는지를 볼 수 있습니다. –

+0

슬프게도 저는 직장에있는 것처럼 저는 캔트가 아닙니다. 문제는 분명히 비율과 함께있을 것입니다, 당신은 단지 그들 모두를 조금씩 조정할 필요가 있습니다. –

+1

공백이 각 div를 구분할 때 항상 줄 바꿈이 발생합니다. 유일한 해결책은 'white-space : nowrap;'을 선언하여 줄 바꿈을 해제하는 것입니다. –

3

솔루션은 여기에 있습니다 : div의 사이에서 http://jsfiddle.net/J5fVj/

  • 더 이상 포장
  • 더 이상 공간이

는 HTML : (테스트를위한 샘플 텍스트로)

<div id="container"> 
    <div id="header">header</div> 
    <div id="left">left</div> 
    <div id="menu">menu</div> 
    <div id="vis">vis</div> 
    <div id="footer"></div> 
<div>​ 

는 업데이트] 스타일리쉬 :

body 
{ 
height: 100%; 
margin: 0; 
padding: 0 ; 
border: 0 none; 
} 
#left 
{ 
background-color:#EEEEEE; 
height:570px; 
width:73.9%; 
display: inline-block; 
} 
#menu 
{ 
background-color:#D4EAE4; 
color:#535353; 
height:570px; 
width:15.25%; 
display: inline-block; 
margin:0; 
} 
#vis 
{ 
background-color:#D4EAE4; 
display: inline-block; 
width:11%; 
height:570px; 
margin:0; 
    border-left: 1px solid #d0d0d0; 
} 
#container 
{ 
width:98%; 
padding-left:1%; 
padding-right:1%; 
white-space: nowrap; 
font-size: 0; 
} 
#header 
{ 
background-color:#4671D5; 
-moz-border-radius-topleft: 100px 50px; 
    border-top-left-radius: 100px 50px; 
    -moz-border-radius-topright: 100px 50px; 
    border-top-right-radius: 100px 50px; 
} 

#header, #left, #menu, #vis { font-size: 20px; text-align: center; } 

-

공백 : 파라미터 nowrap, 글꼴 크기 : 0, 디스플레이 : 인라인 블록 트릭을했다.

+0

당신의 대답은 여기에서 최고입니다 :) – a1204773

+0

@Loclip thanks :) –

관련 문제