block elements인데 inline elements처럼 옆에 오는 이유는?
예전 클론코딩 과제를 하면서 생긴 의문점
나는 분명 block 요소인 h1, header를 사용했는데 왜 또 다른 블록 요소인 div의 옆으로 배치되는 건지 이해가 안 됐었다
분명 둘 다 블록요소니까 다른 줄에 배치되어야 하는 거 아닌가? 그래서 검색을 해보니까
display:flex; 를 주면 flex 아이템들은 가로방향으로 배치되고 자신이 가진 내용물의 width만큼 차지하게 된다고 한다.
즉 Body안에 display flex 속성값을 주면 그 안의 블록이 모두 inline-block처럼 변한다
처음에 flex 요소의 특징을 잘 몰라서 고민 끝에 제목이 있는 header를 position:absolute; 그리고 top의 값을 넣어서 했었는데 (이렇게 해도 가능하다) display:flex;를 지우니까 바로 블록 요소로 돌아왔다
nth-child()와 nth-of-type()의 차이점 ?
nth-child(n) : 부모 엘리먼트의 모든 자식 엘리먼트 중 n 번째 (p이든 div이든 타입은 상관없음)
nth-of-type(n) : 부모 엘리먼트의 특정한 자식 중 n 번째 (타입을 구분함)
그래서 div라는 부모 안에 span, p가 막 섞여있을 때
span인지 p인지 구분하지 않고, 무조건 순서대로 선택하려면 nth-child를 사용한다
반대로 span인지 p인지 타입을 구분해서 선택하려면 nth-of-type으로 따로 정해 준 타입의 순서를 선택할 수 있다.
Ref
https://studiomeal.com/archives/197
https://firerope.tistory.com/category/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C/CSS
'IT' 카테고리의 다른 글
[드림코딩]자바스크립트 기초 정리 ⑥ 배열의 개념과 배열 APIs (0) | 2021.06.21 |
---|---|
[드림코딩]자바스크립트 기초 정리 ⑤ Object 오브젝트란? (0) | 2021.06.20 |
[드림코딩]자바스크립트 기초 정리 ④ 클래스 오브젝트 차이점 (class vs object) , 객체지향 언어 클래스 정리 (1) | 2021.06.18 |
[드림코딩]자바스크립트 기초 정리 ③ 함수선언과 함수표현, Arrow Function 사용방법 (0) | 2021.06.17 |
[드림코딩]자바스크립트 기초 정리 ② var let const 변수 차이점 , 호이스팅과 블럭스코프란? (0) | 2021.06.16 |