>  기사  >  웹 프론트엔드  >  BFC란 무엇인가요? 무슨 소용이 있나요?

BFC란 무엇인가요? 무슨 소용이 있나요?

王林
王林앞으로
2020-06-28 18:00:242948검색

BFC란 무엇인가요? 무슨 소용이 있나요?

BFC

(권장 튜토리얼: css 빠른 시작)

블록 서식 컨텍스트는 페이지의 CSS 시각적 렌더링의 일부입니다. 블록박스의 레이아웃과 플로트의 상호작용을 결정하는데 사용되는 영역입니다.

내 이해:

BFC는 환경입니다. 즉, 다른 BFC의 요소는 서로 간섭하지 않습니다.

기능:

1. 여백 접힘 방지

두 개의 연결된 블록 수준 요소의 세로 여백이 겹치는 현상이 발생한다고 생각하는데, 이는 단락 레이아웃 고려 사항 때문일 수도 있습니다. 줄 간격을 일정하게 유지하려면 이 기능을 사용하세요. 먼저 예제를 살펴보겠습니다.

BFC란 무엇인가요? 무슨 소용이 있나요?

*{margin: 0px;padding: 0px}
p {
    color: red;
    background: #eee;
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    margin: 10px;
    border: solid 1px red;
}

위에서 볼 수 있듯이 두 p 요소에 모두 여백을 설정했지만 중간 공간이 축소되었습니다. 그런 다음 BFC의 예를 들어보겠습니다.

.ele{
    overflow: hidden;
    border: solid 1px red;
}

BFC란 무엇인가요? 무슨 소용이 있나요?

위에서 볼 수 있듯이 각 div 요소에 대해 오버플로 값을 숨김으로 설정하여 여백이 서로 겹치지 않기 때문에 블록 수준 서식 컨텍스트를 생성합니다.

2. BFC는 플로팅 요소를 포함할 수 있습니다

BFC란 무엇인가요? 무슨 소용이 있나요?

*{margin: 0px;padding: 0px}
.floatL{
    float: left;
    width: 100px;
    height: 100px;
    background-color: red;
    text-align: center;
    line-height: 100px;
}
.box{
    border: 1px solid red;
    width: 300px;
    margin: 100px;
    padding: 20px;
}
.BFC{
    overflow: hidden;
    *zoom: 1;
}

블록 수준 요소에 플로팅 요소가 포함되어 있으면 붕괴가 심하지만 BFC로 변환한 후에는 실행 결과를 보면 알 수 있습니다. BFC는 높이를 계산할 때 부동 요소를 자동으로 고려합니다.

3. BFC는 요소가 플로팅 요소로 덮이는 것을 방지할 수 있습니다

BFC란 무엇인가요? 무슨 소용이 있나요?

*{margin: 0px; padding: 0px}

.box1{
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    background-color: rgba(0, 0, 255, 0.5);
    border: 1px solid #000;
    float: left;
}
.box2{
    width: 200px;
    height: 200px;
    line-height: 100px;
    text-align: center;
    background-color: rgba(255, 0, 0, 0.5);
    border: 1px solid #000;
    /* overflow: hidden; */
    /* *zoom: 1; */
}

위에서 볼 수 있듯이 요소가 플로팅되면 후속 블록 수준 요소와 겹칩니다. 따라서 이 문제를 해결하려면 다음 요소에 대한 BFC를 생성하면 됩니다. box2에 오버플로 속성을 추가합니다.

overflow: hidden;
*zoom: 1;

이것은 부동 요소가 겹치는 문제를 방지합니다.

위 내용은 BFC란 무엇인가요? 무슨 소용이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.im에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제