• 회원가입
  • 로그인
  • 구글아이디로 로그인

[grid] CSS - justify-items 속성(C) - 인라인축 부분단위별 그리드 아이템 일괄 정렬 (= justify-items속성 = 저스터파이아이템즈속성/저스터파이아이템스속성)

목차
  1. justify-items 예제 - 인라인축 부분단위별 아이템 일괄 정렬
  2. justify-items 정의
  3. justify-items 구문
  4. justify-items 예제 - 개별 아이템에 justify-self: right; 설정된 경우
  5. justify-items 예제 - 개별 아이템에 position: absolute; 설정된 경우
  6. justify-items 예제 - 컨테이너에 writing-mode: vertical-rl; 설정된 경우
  7. justify-items 예제 - 컨테이너에 direction: rtl; 설정된 경우

 

justify-items 예제 - 인라인축 부분단위별 아이템 일괄 정렬

 

<style> 

#container {

  width: 50%;

  aspect-ratio: 2/1;

  border: 1px solid gray;

  display: grid;

  grid-template-columns: 1fr 1fr;

  justify-items: end;

}


#container > div {

  border: 1px solid black;

}


.a { background-color: coral; width: 40%;}

.b { background-color: lightblue; width: 50%;}

.c { background-color: lightgreen; width: 60%;}

</style>


<div id="container">

  <div class="a">1</div>

  <div class="b">2</div>

  <div class="c">3</div>

  <div class="a">4</div>

</div>


결과보기

 

justify-items 정의

 

인라인축 부분단위별 아이템 일괄 정렬.



 

1.

  • 영어 경우, 인라인방향은 왼쪽에서 오른쪽이고, 블록방향은 아래쪽임.
  • 아이템 주위에 인라인방향으로 사용 가능한 공간이 있어야 작동함. (즉, 부분단위가 아이템크기보다 커야 효과 나타남.)
  • 이 속성은 flexbox 시스템에선 작동 X
  • align-items 속성 - 블락방향으로 부분단위별 아이템 일괄 정렬. (이 속성은 flexbox 시스템에서도 자동 O)
  • jusfity-self 속성 - 인라인축 부분단위별 그리드 아이템 개별 지정.

 

2. 이 속성의 효과는 현재 사용 중인 레이아웃 모드에 따라 달라짐.

  • 블록수준 레이아웃 - 인라인축 기준, 포함블럭내 아이템 정렬.
  • 절대위치 레이아웃 - top, left, bottom, right 의 오프셋 값 고려해, 인라인축 기준 포함 블록 내부의 아이템 정렬.
  • 테이블셀 레이아웃 - 적용 X
  • Flexbox 레이아웃 - 적용 X
  • 그리드 레이아웃 - 인라인축 부분단위별 아이템 정렬.


3.

  • 기본값: legacy
  • 상속여부: X
  • 애니가능: O
  • CSS버전: CSS3
  • JS구문: object.style.justifyItems="center";

 

4.

IE 11 이상 주요 최신 브라우저 모두 지원.

 

5. MDN justify-items 예제보기

https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items

 

 

justify-items 구문

 

selector {justify-items: legacy|normal|stretch|positional alignment|overflow-alignment|baseline alignment|initial|inherit;}

 


[속성값]

 

legacy

아이템 속성값이 justify-self:auto인 경우, 컨테이너가  justify-items:legacy인 경우만 상속함. 이는 HTML의 <center> 요소와 align 속성의 레거시 정렬 동작을 구현 위해 존재함. (기본값)

 

normal

레이아웃 컨텍스트에 따라 다르지만, 'stretch' 속성과 효과와 유사.

 

stretch

인라인 크기 설정 안 된 경우, 부분단위 채우기 위해 아이템 너비 늘어남.

 

positional alignment

부분집합 내 아이템의 위치값 지정. (가능값 종류)

  • center - 가운데에 배치
  • start - 시작에 배치
  • end - 끝에 배치
  • left - 왼쪽에 배치
  • right -오른쪽에 배치
  • flex-start - 시작에 배치
  • flex-end - 끝에 배치
  • self-start - 시작에 배치
  • self-end- 끝에 배치

 

overflow-alignment

아이템이 부분단위를 오버플로 시 정렬 방법 지정. (가능값 종류)

  • safe - 아이템이 오버플로 시, 아이템 정렬을 'start'로 설정. 
  • unsafe - 아이템 오버플로 여부에 관계없이 정렬값 유지.

 

baseline alignment

부모요소 기준선에 맞춰 정렬됨. (예) last baseline

 

initial

이 속성의 기본값 사용.

 

inherit

부모요소의 속성값 상속.

 

 

justify-items 예제 - 개별 아이템에 justify-self: right; 설정된 경우

※ 아이템에 justify-self 속성하면, 특정 아이템만 부분단위 정렬 가능.

 

<style> 

#container {

  width: 50%;

  aspect-ratio: 2/1;

  border: 1px solid gray;

  display: grid;

  grid-template-columns: 1fr 1fr;

  justify-items: end;

}


#container > div {

  border: 1px solid black;

}


.a { background-color: coral; width: 40%;}

.b { background-color: lightblue; width: 50%;}

.c { background-color: lightgreen; width: 60%; justify-self: left;}

</style>


<div id="container">

  <div class="a">1</div>

  <div class="b">2</div>

  <div class="c">3</div>

  <div class="a">4</div>

</div>


결과보기

 

justify-items 예제 - 개별 아이템에 position: absolute; 설정된 경우

※ 아이템에 postion:absolute 적용해 개별 아이템의 위치 설정 가능.

 

<style> 

#container {

  width: 200px;

  aspect-ratio: 2/3;

  border: 1px solid gray;

  display: grid;

  position: relative;

  justify-items: right;

}


#container > div {

  border: 1px solid gray;

  padding: 10px;

  position: absolute;

}


.a {

  background-color: red;

  width: 40%;

  top: 100px;

}


.b {

  background-color: pink;

  width: 50%;

}


.c {

  background-color: green;

  width: 60%;

  top: 200px;

}

</style>


<div id="container">

  <div class="a">a</div>

  <div class="b">b</div>

  <div class="c">c</div>

</div>

 

결과보기

 

justify-items 예제 - 컨테이너에 writing-mode: vertical-rl; 설정된 경우

※ writing-mode 속성에 vertical-* 속성값 적용 시 블락방향이 바뀜.

 

<style> 

#container {

  width: 50%;

  aspect-ratio: 2/1;

  border: 1px solid gray;

  display: grid;

  grid-template-columns: 1fr 1fr;

  justify-items: end;

  writing-mode: vertical-rl;

}


#container > div {

  border: 1px solid gray;

}


.b {

  background-color: pink;

  inline-size: 60%;

}


.a {

  background-color: red;

  inline-size: 50%;

}


.c {

  background-color: green;

  inline-size: 70%;

}

</style>


<div id="container">

  <div class="a">a</div>

  <div class="b">b</div>

  <div class="c">c</div>

  <div class="a">a</div>

</div>

 

결과보기

 

justify-items 예제 - 컨테이너에 direction: rtl; 설정된 경우

 

<style> 

#container {

  width: 50%;

  aspect-ratio: 2/1;

  border: 1px solid gray;

  display: grid;

  grid-template-columns: 1fr 1fr;

  justify-items: start;

  direction: rtl;

}


#container > div {

  border: 1px solid gray;

}


.a {

  background-color: red;

  width: 40%;

}


.b {

  background-color: pink;

  width: 50%;

}


.c {

  background-color: green;

  width: 60%;

}

</style>


<div id="container">

  <div class="a">a</div>

  <div class="b">b</div>

  <div class="c">c</div>

  <div class="a">a</div>

</div>

 

결과보기

 

방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
게시물이 없습니다.
28/25
목록
찾아주셔서 감사합니다. Since 2012