| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 내일배움카드
- 알고리즘
- 이벤트
- styled-components
- react
- 공식문서
- 프로그래머스
- TypeScript
- GIT
- 리액트
- 자바스크립트
- 코딩테스트
- Github
- 프론트엔드
- 비전공자
- MegabyteSchool
- 모던 자바스크립트 딥 다이브
- useMemo
- 국비지원교육
- 입문
- 개발자취업부트캠프
- JavaScript
- useRef
- 메가바이트스쿨
- 개발 공부
- CSS
- next.js
- 자료구조
- 모던 딥 다이브 자바스크립트
- 패스트캠퍼스
Archives
- Today
- Total
개발 기록 남기기✍️
[CSS] margin, padding, border, outline 본문
🟦 Margin
- 외부여백
- 지정된 크기를 기준으로 함
- 다른 요소와의 간격/공간을 의미
- 각 요소마다 마진이 부여될 때, 인접한 요소 사이에서는 더 큰 마진값만 적용된다..block_02 {margin : 50px}
- margin : auto → 좌우에만 자동 적용
- margin : 20px 10 px → 상하 좌우
- margin : 20px 10px 25px → 상 좌우 하
- margin : 20px 10px 25px 15px → 상 좌 우 하
- block 1과 block 2가 옆으로 나란히 정렬되어있을 때, 둘 사이의 마진값은 50px
- ex) .block_01 {margin : 30px}
- float : 요소를 어떻게 배열할 것인지의 기능으로, float 기능을 사용하면, margin 값을 각 요소마다 부여했을 때, 더 큰 마진값만 적용되는 것이 아니라 각각 마진값이 적용된다..block_01 {margin : 30px}block 1과 block 2가 옆으로 나란히 정렬되어있을 때, 둘 사이의 마진값은 30+50 = 80px
- .block_02 {margin : 50px}
- ex) div {float : left}
- 마이너스 값 적용 가능 — 다른 요소와 겹치기 가능
- 마진값은 기본적으로 상하좌우 적용이 되지만, 맨 첫 번째 요소와 마지막 요소는 부모 요소에 붙으려는 성질이 있어서 margin-top / margin-bottom 기능을 부여했을 때, 부모요소를 끌고 같이 상/하로 움직인다.
- ⇒ 부모 요소에 border를 적용하면 마진 기능 적용됨.

🟦 Padding
- 내부 여백
- 지정된 요소의 크기의 값이 커진듯한 형태 — 박스 자체는 그대로 있고, 밖으로 크기를 적용
- box-sizing : 지정된 박스들을 자기 자신을 기준으로 하여 width, height의 지정값을 기준으로, padding과 border의 값을 정해진 규격 안으로 집어 넣는 것.
- .block_01 {width : 100px; padding : 10px ; border : 10px;} → 가로 전체 : 140px
- .block_01 {width : 100px; padding : 10px ; border : 10px; box-sizing : border-box ;} → 가로 전체 : 100px — width만 박스로 봄
- .block_01 {width : 100px; padding : 10px ; border : 10px; box-sizing : content-box;} → 가로 전체 : 140px — 지정된 모든 값을 박스로 봄
- 패딩은 auto 기능 적용 안됨.
- 마이너스 적용 안됨.




🟦 Border
- 부피를 차지하는 외곽선
- 부피가 늘어날 수록 그만큼 다른 요소를 밀어낸다. (자리의 변동)
- border에 따로 기능 적용을 하지 않더라도 하나의 border 안에 여러 개의 값 적용 가능
- ex) border : 30px solid #fff;
🟦 Outline
- 보이지만 부피를 차지하지 않는 외곽선
- 다른 요소에 영향을 주지 않는다.
- 다만 outline의 두께가 두꺼워지면서 다른 요소에 겹치게 보일 수 있다. (자리 변동 x)
✔️ 번외)
width, height, padding, margin, outline, border를 사용해서 상자모양으로 만들어도 초점이 안 잡히는 <li> 요소 처리 방법
- <a>태그 활용
- <button style=”button”> 태그 활용
- form 내부 요소 활용
- 강제로 저리 (JS에서 제어용으로 사용할 때 쓰는 기능)
- 요소에 tabindex 속성 부여
- tabindex=”-1” → focus를 주지 않음 (default)
- tabindex=”0” → 다른 focus 기능을 가진 요소와 동일 선상에서 focus 처리되는 속성
- tabindex=”1” → 숫자의 크기에 따라 focus 우선순위 부여
- 요소에 tabindex 속성 부여
'Front-End > HTML & CSS' 카테고리의 다른 글
| [CSS] display, visibility, opacity (0) | 2022.07.06 |
|---|---|
| [CSS] float, clear 개념 파악 (0) | 2022.07.06 |
| [HTML] inline요소와 block요소 구분 (0) | 2022.07.06 |
| [CSS] 의사 전달 코드 이해(hover, active, focus, visited, before, after) (0) | 2022.07.06 |
| [CSS] class, id 기초 개념 파악 및 css 선택자, 색상 및 기본 내용 파악 (0) | 2022.07.06 |