가변 margin, 가변 padding

가변 margin, 가변 padding

(margin과 padding 정리 → 박스 모델(Box Model))

 

1. 가변 margin

 - 마진의 간격을 가변으로 설정이 가능함

 - 가변 마진가변 그리드 공식과 같음

    → 가변 마진값 =(가변 마진을 적용할 마진값 ÷ 적용할 박스를 감싸고 있는 박스의 가로 너비) x 100

 - 예시) 300px 두개의 박스 사이 가변 마진을 설정

<div id="wrap">
    <div></div><div></div>
</div>

#wrap {
    width: 90%;             /* 960px */
    height: 500px;
    margin: 0 auto;
    border: 4px solid black;
}

#wrap div {
    display: inline-block;
    width: 31.25%;          /* 300px ÷ 960px */
    height: 100%;
}

#wrap div:first-child {
    margin-right: 37.5%;    /* 360px ÷ 960px */
    background: lightcoral;
}

#wrap div:last-child {
    background: lightblue;
}

 

    ※ 다음과 같이 가변적인 크기로 제작된 박스마진이 고정값으로 설정 되어 있으면, 애매한 위치에 배치가 되어버림

        → 이렇게 되지 않기 위해 margin 값을 가변적인 크기로 설정할 것

#wrap div {
    width: 31.25%;          /* 300px ÷ 960px */
}

#wrap div:first-child {
    margin-right: 360px;    /* 360px ÷ 960px */
}

 

2. 가변 padding

 - 패딩의 간격을 가변으로 설정이 가능함

 - 가변 패딩 가변 그리드 공식과 같음

    → 가변 패딩값 = (가변 패딩을 적용할 패딩값 ÷ 적용할 박스를 감싸고 있는 박스의 가로 너비) x 100

 - 예시) 40px 크기의 패딩 값가변 크기로 설정

<div id="wrap">
    <p>길을 할지니, 남는 대중을 그것은 밥을 있는가? 있으며, 구하기 위하여...</p>
</div>

#wrap {
    width: 90%;                 /* 960px */
    height: 500px;
    margin: 0 auto;
    border: 4px solid black;
    background: lightcyan;
}

#wrap p {
    padding: 40px 4.166667%;    /* 40px ÷ 960px */
}

 

 - 만약 박스의 최대 크기를 제한하되, 패딩의 값을 주고 싶을 경우, 다음과 같이 설정함

    - (박스의 최대 크기 - 패딩값x2)를 구한 뒤, 가변 크기 %값 공식인 '가변 크기로 만들 박스의 가로 너비'에 적용

        ※  가변 크기의 %값 = (가변 크기로 만들 박스의 가로 너비 ÷ 그 박스를 감싸고 있는 박스의 가로 너비) x 100

 - 예시) 960px 박스안에 박스가 있는데, 그 박스의 너비는 600px를 넘지 않으면서 패딩값을 50px로 적용

#wrap {
    width: 90%;                 /* 960px */
    height: 700px;
    margin: 0 auto;
    border: 4px solid black;
}

#wrap p {
    /* 600px를 유지해야 하는 박스에 가변 패딩값을 적용하기 위해 (왼+오)의 패딩값만큼을 빼줌 */
    width: 52.083333%;          /* (600-100)px ÷ 960px */
    padding: 50px 5.208333%;    /* 50px ÷ 960px */
    margin: 0 auto;
    background: lightcyan;
}

 

3. calc 함수

 - 박스는 가변적이되, 고정 크기의 마진과 패딩을 적용할 때, 사용

 - calc 함수를 사용해서 원하는 패딩값(왼+오 패딩값)을 뺀 값을 너비값으로 설정함

 - 예시) 박스 안에 자식 박스가 한 개 있고, 그 박스에 50px의 고정 마진을 적용

#wrap {
    width: 90%;                 /* 960px */
    height: 500px;
    margin: 0 auto;
    border: 4px solid black;
}

#wrap div {
    /* 총 너비값에서 (왼+오)의 패딩값인 100px를 뺸 값을 너비값으로 설정 */
    width: calc(100% - 100px);
    height: 200px;
    margin: 50px;
    background-color: lightblue;
}

 

4. 실습

<div id="wrap">
    <div></div><div></div>
</div>

#wrap {
    width: 90%;                 /* 960px */
    height: 500px;
    margin: 0 auto;
    border: 4px solid black;
}

#wrap div {
    width: 31.25%;               /* 300px ÷ 960px */
    display: inline-block;
}

#wrap div:first-child {
    padding: 50px 5.208333%;    /* 50px ÷ 960px */
    background-color: lightblue;
}

#wrap div:last-child {
    padding: 130px 13.541667%;  /* 50px ÷ 960px */
    background-color: lightcoral;
}

'Front-End Study > 반응형 웹' 카테고리의 다른 글

미디어 쿼리  (0) 2023.05.01
가변 이미지  (0) 2023.02.05
가변 font  (0) 2023.02.03
가변 그리드 (Fluid Grid)  (0) 2023.01.14
반응형 웹  (0) 2023.01.14