BootCamp/모두의연구소:오름캠프

24.01.31

혼복필 2024. 2. 2. 10:41
728x90
300x250
SMALL

Position

HTML 태그의 위치를 지정해 주는 속성 (페이지의 레이아웃을 결정할 수 있음)

1. static = 따로 position 속성값을 주지 않았다면 static 값을 가짐, html에 쓴 태그 순으로 정상적인 흐름(normal flow)에 따라 위치가 지정되게 됨

2. relative = 원래 자신이 있어야 하는 위치에 상대적, 자신이 원래 있던 자리를 기억함

원래의 자리를 인식하지만 left, right, top, bottom 속성을 이용해서 움직일 때는 다른 콘텐츠들의 레이아웃에 영향을 미치지 않음

3. absolute = 부모 요소 내부에 속박되지 않고 독립된 배치 문맥 (my way), absolute는 static을 제외한 position 속성값을 가진 가장 가까운 부모의 박스 내를 기준으로 위치

4. fixed = 스크롤을 올리거나 내릴 때, 특정 박스가 고정되어 움직이지 않기 위해 사용, fixed는 현재 사용자가 보고 있는 브라우저 화면 (뷰포트)를 기준으로 마치 화면에 붙은 것처럼 그 자리에 계속해서 위치 시킴

5. sticky = 속성값이 적용된 요소는 조상에 스크롤이 있다면 가장 가까운 부모 요소의 콘텐츠 영역에 달라붙음

(왼쪽부터 오른쪽으로 static / relative / absolute)

 

 

+ z-index

position을 통해 요소의 위치를 변경하다 보면 요소와 요소가 겹쳐 보이는 일이 발생

= 어떤 요소가 더 위로 나타나게 할지 결정할때 사용하는 게 바로 z-index 속성

static을 제외한 position 속성값이 적용된 요소의 Z 축 순서를 결정할 수 있고, z-index 값이 더 큰 요소가 값이 작은 요소의 위를 덮어버리게 됨

부모가 z-index를 높여 자식 앞으로 나올 수 없음, 자식은 z-index를 낮춰 부모 뒤로 가는 것은 가능

 

 

Flex

flex-container에 사용하는 속성

display : flex

자식 요소들이 컨테이너 안 공간을 맞추기 위해서 크기를 키우거나 줄이는 방법을 설정하는 방법

부모 요소를 flex-container 자식 요소를 flex-item이라 부름

1차원적 레이아웃 (x축, 혹은 y축)을 위해 주로 사용

 

 

1. flex-direction
컨테이너 내 아이템을 배치할 때 주축 및 방향을 지정
row : 기본값. 왼쪽에서 오른쪽 (주축이 행 방향)
column : 위에서 아래 방향 (주축이 열 방향)
row-reverse : 오른쪽에서 왼쪽
column-reverse : 아래에서 위 방향

 

2. justify-content

주축을 기준으로 배열의 위치를 조절하거나 아이템 간의 간격을 설정을 할 수 있음

flex-start / flex-end / center / space-between / space-around / space-evenly

 

3. align-items, align-content

align-items : 교차 축을 기준으로 정렬

align-conten t: 컨테이너의 교차 축의 아이템들이 여러 줄일 때 사용 가능

flex-wrap:wrap 인 상태에서 사용해야 함

 

4. gap

아이템 사이의 간격을 설정할 때 사용 할 수 있는 속성

gap: 10px;

 

5. flex-wrap

한 줄에 배치되게 할 것인지 가능한 영역 내에서 여러 행으로 나누어 표현할 것인지 결정

 

6. flex-flow

flex-direction flex-wrap 단축속성

flex-flow: row wrap;

 

flex-item에 사용하는 속성

1. flex-basis

flex-item의 초기 크기를 설정

width, height와 다른 점은 축의 방향에 따라 달라진다는 것과 내부 콘텐츠에 따라 유연한 크기를 가진다는 것

auto 기본값

flex-basis 값이 적용되어있다면 row일 경우 width 값이 무시, column일 경우 height 값이 무시됨

= 기본적으로 px이나 em 등의 단위값을 사용하며 0 외에 다른 상숫값을 사용할 수 없음

 

2. flex-grow

아이템이 컨테이너 내부에서 할당할 수 있는 공간의 정도를 지정

형제 요소인 아이템들이 모두 같은 flex-grow 값을 가지면 내부에서 동일한 공간을 할당받음

값을 0을 줄 경우 늘어나지 않음

flex-grow (1의 경우) : 자식 요소들이 모두 동일한 크기의 공간을 할당받음

flex-grow (2 이상의 경우) : 특정한 하나의 자식에게만 줄 경우 다른 자식요소보다 두 배 (배수)의 여백 공간을 할당받음

만약 자식요소들의 콘텐츠 크기가 존재한다면 그 콘텐츠의 넓이에 따라 할당받는 값이 달라짐

= flex-basis : 0을 주게 되면 여백 공간이 아니라 전체 공간을 분할

 

3. flex-shrink

아이템의 크기를 고정하거나 축소할 때 사용

값을 0을 줄 경우 줄어들지 않음

4. align-self

부모의 align-items 속성을 덮어 flex-item에게 개별적인 align-items 속성을 부여

기본값 stretch

 

5. flex

단축 속성

flex-grow / flex-shrink / flex-basis

flex: 1 1 100px;

 

 

/* 첫 번째 사진 */
.wrap, 
.wrap > div {
    display:flex;
    justify-content:space-between;
}
.left-side, .center {
    flex-direction:column;
}
.right-side {
    flex-direction:column-reverse;
}

/* 두 번째 사진 */
.wrap {
    display:flex;
    flex-direction:row-reverse;
    align-items:center;
}

 

마지막으로 위니브 UI를 보고 로그인화면을 구현한 실습 사진을 올리고 마치겠습니다.

자세한 코드는 GitHub에 올라와있으니 참고 바랍니다 :)

 

 

https://github.com/soohyun020812/ormcamp

 

GitHub - soohyun020812/ormcamp: 오름캠프 교육에서 활용한 실습 내용들 정리

오름캠프 교육에서 활용한 실습 내용들 정리. Contribute to soohyun020812/ormcamp development by creating an account on GitHub.

github.com

728x90
300x250
LIST

'BootCamp > 모두의연구소:오름캠프' 카테고리의 다른 글

24.02.02  (4) 2024.02.06
24.02.01  (0) 2024.02.02
24.01.30  (4) 2024.01.31
24.01.29  (2) 2024.01.29
24.01.26  (6) 2024.01.28