2012-12-11 4 views
-2

그래서 컨테이너에 요소가 있고 conatiner에서 너비를 상속하는이 이상한 문제가 발생합니다.자식 요소 상속 너비 문제

나는 이걸 수정하려고하는데 CSS의 너비 속성을 원하는대로 설정했습니다. 브라우저에서 미리보기로 이동하면 너비가 올바르게 조정되지만 오른쪽 여백을 확장하여 컨테이너를 채 웁니다.

margin-right : 0과 같은 작업을하여 이것을 상쇄하려고했습니다. 음수 값을 사용하지만 아무 것도 작동하지 않습니다.

+2

코드를 게시 할 수 있습니까? – Samsquanch

+1

코드 없이는 당신을 도울 수 없습니다. –

+0

코드를 볼 필요가 있습니다. 코드를 보지 않고 초기 추측은 부모로부터 여백/패딩/경계를 상속 받고 지정하는 너비에 그 경계를 추가한다는 것입니다. –

답변

3

자식의 너비는 부모로부터 결코 상속되지 않습니다 (부모에 지정된 정확한 값)! 그러나 은 부모의 너비에 따라입니다. 부모에 너비를 지정하고 블록 수준의 하위 항목이있는 경우 항상 부모 너비의 100 %로 확장됩니다. 그것은 완전히 정상적인 행동입니다.

하위 요소에 명시적인 너비를 설정하면 여백과 테두리이 표준 너비 모듈을 사용하여 전체 너비에 포함되지 않는다는 것을 알고 있어야합니다. 당신은 두 가지 옵션이 있습니다

  • 계정 패딩
  • 변경 상자 - MODELL을

는 CSS : 그러나

#parent{ 
    width:100px; 
} 
#child{ 
    padding:10px; 
    width:100px; /* child will be 20px too wide */ 
} 
/*method 1*/ 
#child{ 
    padding:10px; 
    width:80px; /* child will fit perfectly: 80px +10px + 10px */ 
} 
/* method 2*/ 
#child{ 
    padding:10px; 
    width:100px; 
    box-sizing:border-box;  /* child will fit perfectly 
           width now includes content and padding */ 
    -moz-box-sizing:border-box; /* for compatibility*/ 
    -webkit-box-sizing:border-box; 
} 

노트, box-sizing이 새로운 CSS-속성이라고하고 모든 브라우저가이를 처리 할 수있는 것은 아닙니다.

+0

귀하의 대답은 브라우저 창의 크기가 조절되는 것을 고려하지 않습니다! – Reado

+0

@Reado 상자 크기 조정은 브라우저 창의 너비와 전혀 관련이 없습니다 (반응 형 디자인). 이것들은 두 개의 완전히 별개의 주제이며 또한 질문의 일부가 아닙니다. 이 대답은 직관적이지 않은 상자 크기 조정 모델로 인해 부적합한 요소의 문제를 명확히하고이 문제를 해결하여 반응 형 디자인을 만드는 방법을 설명합니다. 반응 형 디자인에 대해 궁금한 점이 있다면 다른 질문을하십시오. 대답에 정보가 부족하다고 생각되면 개선 (편집)하십시오. 그러나 처음부터 질문의 일부가 아니었던 이유로 downvote하지 마십시오. . – Christoph