답변:
손쉬운 수정
margin:-10px
시간에.
이미지 목적을 위해 다음과 같이 할 수 있습니다.
img {
width: calc(100% + 20px); // twice the value of the parent's padding
margin-left: -10px; // -1 * parent's padding
}
대체로이 질문에 대한 답변은 많았지 만 모든 사람에 의해 작은 부분으로 이루어졌습니다. 이 문제는 불과 1 분 전에 다루었습니다.
패널의 아래쪽에 30px의 패널이있는 버튼 트레이를 갖고 싶었습니다. 버튼 트레이는 바닥과 측면이 같은 높이 여야했습니다.
.panel
{
padding: 30px;
}
.panel > .actions
{
margin: -30px;
margin-top: 30px;
padding: 30px;
width: auto;
}
나는 아이디어를 추진하기 위해 더 많은 육체로 데모 를 수행 했습니다. 그러나 위의 핵심 요소는 자식의 음수 여백과 일치하는 부모 패딩을 오프셋합니다. 그런 다음 자식을 전체 너비로 실행하려면 너비를 자동으로 설정하는 것이 가장 중요합니다. (위의 schlingel 주석에서 언급했듯이 ).
조금 늦었지만 약간의 수학이 필요합니다.
.content {
margin-top: 50px;
background: #777;
padding: 30px;
padding-bottom: 0;
font-size: 11px;
border: 1px dotted #222;
}
.bottom-content {
background: #999;
width: 100%; /* you need this for it to work */
margin-left: -30px; /* will touch very left side */
padding-right: 60px; /* will touch very right side */
}
<div class='content'>
<p>A paragraph</p>
<p>Another paragraph.</p>
<p>No more content</p>
<div class='bottom-content'>
I want this div to ignore padding.
</div>
나는 Windows가 없으므로 IE에서 이것을 테스트하지 않았습니다.
fiddle : fiddle 예 ..
부모의 너비는 120px입니다. 즉, 각면에 100 너비 + 20 패딩이므로 선 너비를 120px로 만들어야합니다. 여기에 코드가 있습니다. 다음 번에는 패딩이 요소 너비에 추가된다는 점에 유의하십시오.
#parent
{
width: 100px;
padding: 10px;
background-color: Red;
}
hr
{
width: 120px;
margin:0 -10px;
position:relative;
}
width: auto;에서 hr. jsfiddle.net/ToolmakerSteve/7p85dsrq/3 안타깝게도이 솔루션에는 여전히 padding부모가 설정 한 정보 가 필요합니다 .
사용중인 박스 모델에 문제가있을 수 있습니다. IE를 사용하고 있습니까?
IE가 쿼크 모드 일 width때 상자의 바깥 쪽 너비는 안쪽에 패딩이 있음을 의미합니다. 따라서 상자 내부에 남은 총 영역은 100px - 2 * 10px = 80px100px 너비 <hr>가 올바르게 보이지 않습니다.
표준 모드에 width있는 경우은 상자의 내부 너비이고 패딩은 외부에 추가됩니다. 상자의 전체 폭이다 그래서 100px + 2 * 10px = 120px당신을 위해 정확히 100 픽셀 상자 안에 떠나 <hr>.
이를 해결하려면 IE의 CSS 값을 조정하십시오. (Firefox에서 괜찮아 보이는지 확인하십시오). 또는 더 좋은 방법은 문서 유형을 설정하여 브라우저를 엄격 모드로 설정하는 것입니다. IE도 표준 상자 모델을 따릅니다.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
...
수직 패딩이있는 상위 컨테이너가 있고 해당 컨테이너 내부에 무언가 (예 : 이미지)가 수직 패딩을 무시하도록하려면 '상단'과 '하단'에 대해 음수이지만 동일한 여백을 설정할 수 있습니다.
margin-top: -100px;
margin-bottom: -100px;
실제 가치는 그다지 중요하지 않은 것 같습니다. 수평 패딩에는 이것을 시도하지 않았습니다.
여기에 다른 방법이 있습니다.
<style>
.padded-element{margin: 0px; padding: 10px;}
.padded-element img{margin-left: -10px; width: calc(100% + 10px + 10px);}
</style>
<p class="padded-element">
<img src="https://images.pexels.com/photos/3014019/pexels-photo-3014019.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
</p>
다음은 repl.it에 대한 몇 가지 예입니다. https://repl.it/@bryku/LightgrayBleakIntercept
<hr>div 끝에서 20px가됨을 의미합니다. 내가 의미하는 바는이 jsFiddle을 참조하십시오. jsfiddle.net/YVrWy/1