고정 너비와 높이를 지정하려는 div가 있고 원래 DIV 너비 / 높이를 줄이거 나 늘리지 않고도 변경할 수있는 패딩이 있습니다. CSS 트릭이 있습니까? 아니면 패딩을 사용하는 대안이 있습니까?
답변
솔루션은 래핑하는 것입니다 패딩 DIV를 함께 외부 DIV 폭 고정
HTML
<div class="outer">
<div class="inner">
<!-- your content -->
</div><!-- end .inner -->
</div><!-- end .outer -->
CSS
.outer, .inner {
display: block;
}
.outer {
/* specify fixed width */
width: 300px;
padding: 0;
}
.inner {
/* specify padding, can be changed while remaining fixed width of .outer */
padding: 5px;
}
답변
CSS에 이것을 선언하면 잘할 것입니다.
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
이 솔루션은 추가 래퍼를 사용하지 않고 구현할 수 있습니다.
이렇게하면 브라우저가 div의 “외부”너비에 따라 너비를 계산하게됩니다. 즉, 너비에서 패딩이 차감된다는 의미입니다.
답변
IE6 박스 모델을 시뮬레이션하려는 것 같습니다. 이를 위해 CSS 3 속성 box-sizing : border-box 를 사용할 수 있습니다. 이것은 IE8에서 지원되지만 Firefox의 경우 사용해야 -moz-box-sizing
하며 Safari / Chrome의 경우 -webkit-box-sizing
.
IE6는 이미 높이를 잘못 계산 했으므로 해당 브라우저에서 잘하지만 IE7에 대해 잘 모르겠습니다. 쿼크 모드에서 높이를 동일하게 계산할 것이라고 생각합니다.
답변
이 트릭을 시도
div{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
이렇게하면 브라우저가 div의 “외부”너비에 따라 너비를 계산하게됩니다. 즉, 너비에서 패딩이 차감됨을 의미합니다.
답변
일관된 결과 크로스 브라우저를 얻으려면 일반적으로 div
내부 에 다른 것을 추가 div
하고 명시적인 너비를 지정하지 않고 margin
. 는 margin
시뮬레이션합니다 padding
외부의 div.