* float : 띄우다.
태그를 3차원적인 공간으로 띄운다. 그 축은 모니터와 수직을 이루는 선
1. 기본적인 float 과 clear
1) 기본적인 div 두개 준비
↓ CSS
2) 오른쪽으로 float 했을 경우 :
1번박스가 3차원으로 2번박스와 다른 높이로 떴으므로 원래 1번박스가 있던 공간이 비었다 -> 2번박스가 올라옴.
3) float : left
왼쪽으로 float 했을 경우.
1번박스가 3차원으로 2번박스와 다른 높이로 떴으므로 원래 1번박스가 있던 공간이 비었다 -> 2번박스가 올라옴.
사진상으로 겹쳐서 보이는데 다른 높이 같은 위치에 두개의 태그가 있는 것이다.
4) clear: 다른 태그의 float으로 인한 영향을 받지 않게 하는것.
5) 보통 clear를 사용할때 clear : both; 로 사용한다.
1개의 부모태그와 그 안의 4개의 자식태그 (1,2,3,4)
HTML
CSS
줄바꿈이 되어 박스가 내려갈때 우선 원래 있어야 하는 위치 ( 맨 윗줄 맨 오른쪽) 에서 바로 왼쪽에 있는 박스 길이만큼 내려간다. (↓) 그리고 막힐때까지 왼쪽으로 이동. 막히면 멈춘다. (←)
2. 한개의 부모태그 안에 세개의 자식태그 float.
: 녹색 float : left 후 오렌지도 float : left 하게 되면 녹색 옆에 나란히 뜬다. 분홍색도 똑같이 옆에 나란히 뜬다.
( 같은 높이에 떴다고 생각하면 이해하기 편하다.)
1) 부모태그의 길이가 1px이라도 작으면 안에 있는 자식태그 하나가 아래로 내려간다.
2) 1번 박스의 길이가 길 때
: 1번박스 바로 아래까지 가지 못하고 막힌다.
3) 2번박스 길이가 길 때
: 1번박스 아래까지 가지만 그 사이에 공간이 있다.
3. 한개의 부모태그 안에 네개의 자식태그.
1) 넓이가 좁을 때
2) 1번박스의 길이가 길때
3) 2번박스의 길이가 길 때
4) 3번박스의 길이가 길 때
4. 자식태그들에 margin-bottom 주기.
1) 2번 박스에 1px 의 margin-bottom
2) 2번박스에 1px margin-bottom , 2번박스에 2px margin-bottom
5. float의 margin과 clear의 margin
1) clear의 margin
: margin이 눈에 보이게 들어가지 않는다
-> 4번 ( 파랑색) 박스 위의 빈 공간에 margin이 들어간다.
2) float의 margin
: float의 margin은 clear에 영향을 준다.
(float도 clear도 아닌 것에는 영향을 주지 않는다.)
3) 1)2)번 동시에 한것. float의 margin은 영향을 주고 clear의 magin은 빈공간에 들어간다.
6. 방향이 다른 float들
: 방향에 따라 순서대로 배열된다.
7. float과 position : absolute를 사용할때는 너비/높이를 지정하는게 좋다.
ex) 너비
* banana 라는 class div
1) 너비를 지정하지 않았을 경우 : 왼쪽 (or 오른쪽) 으로 이동하려는 속성때문에 영역이 없어진다.
* 위의 박스는 1)~6) 에서 사용한 box 1234와 부모태그이다. banana의 영역이 없어졌다는 것을 보여주기 위해 같이 보여줌.
2) 너비를 지정했을 경우
3) absolute도 마찬가지 이다.
'프론트엔드 > HTML & CSS' 카테고리의 다른 글
| <CSS>CSS규칙과 효율적인 코드방법 (0) | 2017.06.09 |
|---|---|
| <CSS>순서를 이용한 선택자 : nth / first or last-child (0) | 2017.06.08 |
| HTML5의 대표적인 새 기능과 태그 (0) | 2017.06.03 |
| <HTML>폼 양식태그 ( 설문조사, 회원가입 ) (0) | 2017.06.02 |
| HTML과 CSS 의 분리 (0) | 2017.06.02 |