# align-items()

## 용도 <a href="#use" id="use"></a>

[align-items](https://developer.mozilla.org/en-US/docs/Web/CSS/align-items) 속성을 빠르고 효율적으로 처리할 때 사용하는 믹스인입니다.

## 사용법 <a href="#usage" id="usage"></a>

`align-items()` 믹스인에 정렬 키워드를 전달합니다.

> align-items($valu&#x65;**:string**, $mod&#x65;**:string**)

```ruby
.usage {
  @include align-items(start, flex);
  @include align-items(around);
}
```

| 매개변수(parameter) | 유형(type) | 필수(required) | 기본 값(default) |
| :-------------: | :------: | :----------: | :-----------: |
|      $value     |  string  |      ✔︎      |               |
|      $mode      |  string  |              |     `grid`    |

위 예시 코드는 아래의 CSS로 컴파일 되어 출력됩니다.

```css
.usage {
  align-items: flex-start;
  align-items: space-around;
}
```

## 로직 <a href="#logic" id="logic"></a>

`align-items()` 믹스인은 다음의 로직에 의해 작성되었습니다.&#x20;

```ruby
@mixin align-items($value, $mode: grid) {
  @if $value == 'normal' {
    align-items: normal;
  }
  @if $value == 'stretch' {
    align-items: stretch;
  }

  @if $value == 'start' {
    align-items: if($mode == grid, start, flex-start);
  }
  @if $value == 'end' {
    align-items: if($mode == grid, end, flex-end);
  }
  @if $value == 'center' {
    align-items: center;
  }

  @if $value == 'baseline' {
    align-items: baseline;
  }
  @if $value == 'first-baseline' {
    align-items: first baseline;
  }
  @if $value == 'last-baseline' {
    align-items: last baseline;
  }
  @if $value == 'safe' {
    align-items: safe center;
  }
  @if $value == 'unsafe' {
    align-items: unsafe center;
  }

  @if $value == 'inherit' {
    align-items: inherit;
  }
  @if $value == 'initial' {
    align-items: initial;
  }
  @if $value == 'unset' {
    align-items: unset;
  }
}
```

1. 전달 받은 인자 값을 분석해 내부적으로 조건 처리
2. 조건과 일치하는 경우, 코드 출력

## 참고 <a href="#reference" id="reference"></a>

믹스인에 사용된 Sass의 빌트인 모듈은 다음과 같습니다.

* [@mixin / @include](https://sass-lang.com/documentation/at-rules/mixin)
* [if()](https://sass-lang.com/documentation/modules#if)
