position
sticky :
- 기존의 자리를 유지하다가, 스크롤을 하여 웹 브라우저의 상단에 닿으면 fixed 처럼 움직임.
- 다시 제자리로 돌아가면 고정.
- 기본적으로 static처럼 작동.
- top : 0; ->> 브라우저 기준 맨 위에 닿았을 때 작동한다.
backdrop-filter : 배경필터. 배경을 흐리게 또는 색상이동과 같은 그래픽 효과를 줌
flex :
- 기본 축(Main Axis) - 왼쪽에서 오른쪽으로 가는 수평 축.
- 교차 축(Cross Axis) - 위쪽에서 아래쪽으로 가는 수직 축.
* 그러나 direction에 따라 기본축과 교차축의 내용이 서로 바뀐다.
*-reverse를 하면 방향도 바뀐다.
* 기본적으로 요소들은 기본 축 방향으로 진행하며, 교차축은 꽉 채운다.
- flex-direction : 배치할 방향
- 기본적으로 가로 방향.(row행)
- 세로방향(column열)
- 왼쪽에서 오른쪽으로, 위에서 아래로 가는데, -reverse를 하면 반대로 동작.
- justify-content, align-items : 정렬
- justify-content :
- 기본축 방향 정렬
- center : 중앙정렬
- flex-end : 기본축의 맨 끝을 기준으로 정렬
- flex-start : 기본축에서 맨 앞(기본)
- space-around : 기본축에서 띄엄띄엄 배치. 서로 양 옆에 같은 공간을 가짐. :
- space-between : 기본축에서 양 끝에 배치.
- space-evenly : 기본축에서 띄엄띄엄 배치. 서로 양 옆의 총 공간이 같음.
- align-items :
- 교차축 방향 정렬
- center : 중앙정렬
- flex-end : 교차축의 맨 끝을 기준으로 정렬
- flex-start : 교차축에서 맨 앞
- stretch : 교차축에서 늘려서 배치(기본)
- flex-wrap : 요소가 넘칠 때
-wrap : 넘치는건 줄바꿈됨.
- gap : 요소 간격
- gap : 세로px 가로px 근데 마진처럼 전방향으 동작하는게 아니라, 요소가 있다면, 요소간의 간격에만 적용된다.
- flex-grow, flex-shrink,flex-basis : 크기 늘이거나 줄이기. 유연한 배치
- flex-grow : 상대적인 값(기본값 0, 숫자에 비례하여 크기가 늘어남.)
- flex-shirink : 공간이 넘칠때 width를 강제로 줄이는 정도(기본값 1, 0일때는 크기를 줄이지 않음. 숫자가 클 수록 많이 줄임.)
- flex-basis : 요소의 시작 크기.(기본값 auto)
- flex-grow, flex-shrink, flex-basis를 동시에 사용 가능 : flex : 1 0 100px
Grid
- 가로 세로 두 방향(2차원) 으로 배치할 수 있는 것.
- 왼쪽에서 오른쪽으로(column),위에서 아래(row)
- 각 칸을 나누는 줄 : grid line
- 각 칸 : grid cell
- grid-template-rows
- grid-template-columns : 격자 나누기 = 한 줄을 입력한 값으로 나눈다.
ex) grid-template-rows : 10px 10px 10px; -> 10px 세칸
grid-template : 10px 10px 10px / 20px 20px 20px
-> 가로(columns) / 세로(rows)
Q.크기를 유동적으로는 불가능한가
A. 가능.
gird-template : 1fr 1fr 1fr ; - 1 : 1: 1의 비율. 상대적인 수치를 넣으면 됨.
*유동 크기를 정해줄 수도 있음.
grid-template : minmax(200px,300px) - minmax에도 fr 단위를 쓸 수 있는데, MAX값에만 사용 가능.
*반복적인 처리
repeat(횟수, 사이즈)
- gap : 간격
flex 와 사용법이 완전히 같음.
- grid-auto-rows
- grid-auto-columns: 크기 미리 정하기
따로 rows/columns의 값을 정하지 않았을때 사용.
우선 grid-template-rows/columns 로 값 선언 후
grid-auto-rows/columns : 값.
ex) gid-auto-rows : 200px; -> 모든 로우값이 200px
grid-auto-rows : 100px 200px 300px; -> 100,200,300px 이 번갈아가면서 나옴.
- grid-row/column, span : 원하는 위치에, 여러 칸에 걸쳐서 배치
grid는 왼쪽 위 모서리가 (1.1)이다. 그래서 1씩 증가하며 칸을 찾을 수도 있고,
우측 아래 모서리는 (-1,-1)로 -1씩 감소하며 칸을 찾을 수도 있다.
ex) 5X5 cell의 grid는 (3,3)과 (-3,-3)이 같다.
사용법
- div를 (3,3)의 자리로 옮기고 싶을때
<div>
<style>
grid-row : 3;
grid-column : 3;
</style>
</div>
*주의할점. grid 모서리 격자의 번호지 셀의 번호가 아님. 4x5의 칸을 가지고 있는 그리드의 경우
(1,1)~(5,6) 까지의 모서리 격자 번호가 존재.
예를 들어 ex)
(2,3)cell ~ (4,5)cell 의 자리까지 같은 색으로 채우고 싶을때
<div>
<style>
grid-row : 2 / 5; /* row 2번줄 ~ 5번줄까지 */
grid-column : 3 / 5; /* column 3번줄 ~ 6번줄까지 */
또는
grid-row : 2 / span 3; /* row 2번줄부터 아래로 3칸 */
grid-column : 3 / span 3; /* column 3번줄부터 오른쪽으로 3칸 */
</style>
</div>
- grid-area, grid-template-areas : 이름으로 배치
grid-area : 이름; - 이름 선정.
grid-template-areas : "이름, 이름" "이름,이름"; - "앞은 row,뒤는 column값"
ex)
<div class = "a">
<div class = "b">
</div>
<div class = "c">
</div>
</div>
css
.a{
display : grid;
grid-template:
repeat(2, 1fr) / repeat(2, 1fr)
grid-template-areas : "r g" "r g";
}
.b{
gird-area : r;
}
.c{
grid-area : g;
}
'CSS' 카테고리의 다른 글
| transform(x축,y축,z축 회전)(+position과의 차이)(3/2공부) (0) | 2023.03.02 |
|---|---|
| 2/13 공부 (반응형) (0) | 2023.02.13 |
| 2/7 공부 (0) | 2023.02.07 |
| 공부 2/6 (0) | 2023.02.06 |
| 1/31 공부 (0) | 2023.02.01 |