Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

AI가 번역한 다른 언어 보기

뚠뚠멍의 생각들

CSS의 기본 규칙 (Normal flow, BFC, IFC)

  • 작성 언어: 한국어
  • 기준국가: 모든 국가 country-flag

언어 선택

  • 한국어
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

durumis AI가 요약한 글

  • CSS 레이아웃 구성 시 발생하는 문제 해결을 위해 Normal Flow, BFC, IFC의 기본 규칙을 이해하는 것이 중요합니다.
  • BFC는 레이아웃 구성에 주로 사용되며, float 속성, position, display 등의 속성에 따라 생성되고, margin 겹침 해결 등에 활용됩니다.
  • IFC는 블록 요소 내에서 줄 단위로 구성되지 않고, width, height 설정이 제한적이며, 주로 span, a, img와 같은 인라인 요소에 적용됩니다.


HTML CSS를 그리다보면 레이아웃이 생각만큼 잘 구성되지 않아

구글에 많이 물어봤었던 경험이 있습니다.


최근 제로초님의 개발자 토크 영상을 보다가 CSS의 기본에 대해서 알아보기로 했습니다.

- 블록 요소, 인라인 요소, margin 과 정렬을 이해하고자 합니다.


이미 경험적으로 알고 있지만, 정리해둬야 할 필요가 있습니다.

■ css를 수정 해야하는데 경험적으로 이것저것 적용해보면서 눈에 보이는대로만 구현하면 반응형 디자인에서 문제가 발생하거나, 추후 유지보수할 때 복잡해집니다.


1. Normal Flow

- 특별히 생각할 것이 없습니다. 모든 요소는 위에서 아래로, 왼쪽에서 오른쪽 방향으로 배치됩니다.

* 두루미스에서 글을 작성할 때 html 태그를 붙여넣기하면 사라지는데, 해결 방법을 아시나요;;

 <div>
     <p>첫 번째 문단</p>
     <p>두 번째 문단</p>
     <span>인라인 요소1</span>
     <span>인라인 요소2</span>
 </div>

- p 태그로 두 블럭이 생기고, span 태그는 한줄로 그려집니다.

 첫 번째 문단
 두 번째 문단
 인라인 요소 1 인라인 요소 2



2. BFC (Block Formatting Context)

- 주로 레이아웃을 구성할 때 사용됩니다. (블록을 구성하고, 그 안에 인라인을 구성합니다.)

- 블록레벨 요소가 쌓이는 방식입니다.

- 블록 레벨 요소는 아래와 같습니다.

<div>, <p>, <h1>~<h6>, <ul>, <ol>, <li>, <table>, <form>

- 요소 안의 내용의 길이와 상관없이 부모 요소의 전체 너비를 차지합니다. (한 줄)

- 블록 안에 블록을 넣거나, 인라인 요소를 넣을 수 있습니다.

- width, height, margin, padding을 설정할 수 있습니다.

 <div style="padding :10px;"> 
     <h1>제목</h1>
     <p>짧은 문단입니다. </p>
 </div> 

- div 태그 안에 두 줄이 생성됩니다.

- BFC가 생성되는 때는 아래와 같습니다. 그때그때 찾아보면 됩니다.

  • float 속성이 none이 아닌 경우
  • position이 absolute 또는 fixed인 경우
  • display가 inline-block, table-cell, table-caption, flex, inline-flex, grid, inline-grid인 경우
  • overflow가 visible이 아닌 경우 등


3. IFC (Inline Formatting Context)

<p>
    안녕하세요! <strong> 두루미스 </strong> 두 번째 글입니다!
    <span style="color: pink;">좋아요</button> 버튼을 눌러주세요.
</p>

- 블록 요소 안에서 구성됩니다. (줄 단위 X)

- width와 height를 직접 설정할 수 없습니다. (내용의 크기만큼 차지합니다.)

- 수평 padding과 margin만 적용할 수 있습니다.

- 인라인 요소 안에 인라인 요소만 포함할 수 있습니다.

<span>, <a>, , <img>, <input> 등


그래서 언제 쓰나요?

- bfc는 float 상호작용이나 margin 상쇄를 처리하기 위해 쓰입니다.


1. float 상호작용

- 자식에게 자유분방한 스타일을 걸면 부모는 감싸지 못 합니다.

(float, position absolute, fixed, display inline-block 등...)

- 이때 부모 요소에 bfc를 줘서 레이아웃을 구성합니다.

(부모 태그에 display: inline-block, overflow: auto, float: left 등을 적용합니다.)

<div class="부모" style="display: inline-block;">
    <div class="자식" style="float: left;">...</div>

</div>


2. margin 상쇄

- css는 인접한 두 태그의 상하 마진이 겹칩니다.

ex) 아래 두 div 태그 사이의 상하 간격은 150px이 아닌 100px입니다.

<div style="margin-bottom: 100px;">
..
</div>
<div style="margin-top: 50px;">
,,
</div>

- 위 상황에서 두 태그 사이에 새로운 bfc 요소를 추가합니다.


<div style="margin-bottom: 100px;"></div> 

<div style="overflow: auto;"></div> <!-- 새 bfc-->

<div style="margin-top: 50px;"></div>


ps. 두루미스 html 복붙 하는 방법을 아시나요;;

뚠뚠멍
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍
리액트 - kakao is not defined 어떻게 해결하는게 좋을까 리액트에서 카카오맵 API를 사용할 때 kakao is not defined 오류 해결 방법을 소개합니다. 컴포넌트 외부에서 kakao 객체를 선언하거나 커스텀 훅을 사용하면 해결할 수 있습니다.

2024년 9월 2일

두루미스에 첫 글을 쓰며 두루미스 플랫폼에서 글쓰기 기능과 에디터 기능을 소개하며, 다양한 서식 기능과 링크박스, 수평선 등의 기능을 살펴보고 개선점을 제안합니다.
이것저것 잡다한 이야기
이것저것 잡다한 이야기
이것저것 잡다한 이야기
이것저것 잡다한 이야기

2024년 4월 14일

[비전공, 개발자로 살아남기] 14. 신입 개발자 자주 묻는 기술면접 내용 요약 신입 개발자 면접에서 자주 나오는 기술 질문(메모리 영역, 자료구조, 데이터베이스 등)을 요약하여 정리했습니다. 개발 면접 준비에 도움이 되길 바랍니다.
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

2024년 4월 3일

논리적 데이터 모델링 개념적 데이터 모델을 관계형 데이터베이스 모델로 변환하는 논리적 데이터 모델링 과정을 설명합니다. 1:1, 1:N, N:M 관계 처리와 정규화(1NF, 2NF, 3NF)까지 다룹니다.
제이의 블로그
제이의 블로그
개념적 데이터 모델을 관계형 데이터베이스 모델로 변환하는 논리적 데이터 모델링 과정을 설명합니다. 1:1, 1:N, N:M 관계 처리와 정규화(1NF, 2NF, 3NF)까지 다룹니다.
제이의 블로그
제이의 블로그

2024년 4월 9일

글 작성과 관련한 FAQ 모음 듀라미스 AI 글쓰기 기능 관련 자주 묻는 질문과 답변을 모아놓았습니다. 줄바꿈, 글 색상 변경, 캡션, AI 미리보기 등 다양한 기능에 대한 궁금증을 해소해보세요.
durumis official blog
durumis official blog
FAQ가 쓰인 그림
durumis official blog
durumis official blog

2024년 1월 25일

은근히 유용한 한글문서 편집, 아래아한글(HWP) TIP 한글 문서 편집 팁! 한컴독스 활용, 자간/페이지 나누기, 문단 들여쓰기 등 유용한 기능을 알아보세요.
길리
길리
한글 문서 편집 팁! 한컴독스 활용, 자간/페이지 나누기, 문단 들여쓰기 등 유용한 기능을 알아보세요.
길리
길리

2024년 4월 5일

[오브젝트] 2장. 객체 지향 프로그래밍 객체 지향 프로그래밍 개념과 영화 예매 시스템 구현을 통해 객체, 클래스, 협력, 상속, 다형성 등을 설명합니다.
제이온
제이온
제이온
제이온

2024년 4월 28일