dkmqflx's Blog

가상 요소(pseudo element)에 transform 속성을 적용하는 방법

CSS
2021.04.19

아래는 button 태그에 가상요소 ::before를 사용해서 모양의 아이콘을 만들기 위한 코드입니다.

/* css */
.delete__button {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  right: 0px;
  top: 0px;
  background-color: tomato;
}

.delete__button::before {
  content: '|';
  color: #fff;
  transform: rotate(90deg);
}

하지만 코드를 실행시켜보면 모양이 아니라 아이콘이 세로인 | 모양으로 되어있는 것을 확인할 수 있습니다.




그 이유는 인라인 요소는 transform 속성을 적용할 수 없는데 가상요소는 인라인 요소이기 때문입니다. transform: rotate(90deg) 속성이 적용되지 않았기 때문에 content 속성인 | 모양으로 보이게 되는 것입니다.

따라서 display:block 또는 display:inline-block 으로 해당 요소를 block level로 바꾸어 줍니다.

/* css */
.delete__button::before {
  content: '|';
  color: #fff;
  transform: rotate(90deg);
  display: inline-block;
}

속성을 block level로 바꾸어주면 아래처럼 아이콘이 모양으로 바뀌는 것을 확인할 수 있습니다.


© 2022 dkmqflx, Powered By Gatsby