[CSS] ::before 와 ::after 알아보기(:first-child,:last-child)

2023. 11. 17. 16:10·개발💻/CSS
반응형

 오늘은 ::before 와 ::after에 대해 알아보겠다

 

before는 한글 번역이 잘 안돼서 이렇게 가져왔다

 

쨌든 before는 after는 말 그대로 어떤 요소 앞뒤에 content를 추가한다고 생각하면 되겠다

 

아주 간단한 예를 들어보겠다

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="wrap">
        <div>첫번째</div>
        <div>두번째</div>
        <div>세번째</div>
    </div>
</body>
<style>
.wrap {
    width: 600px;
    height: 400px;
    margin-top: 100px;
    margin-left: 600px;
    background-color: rgb(243, 242, 242);
    display: flex;
    align-items: center;
    justify-content: center;
}
.wrap div {
    width: 90px;
    height: 40px;
    margin-right: 20px;
    padding-top: 20px;
    border: 2px solid red;
    text-align: center;
    color: aliceblue;
    background-color: blue;
}
</style>
</html>

이렇게 코드를 작성하였고

지금은 이러한 모습이다

 

여기서 글자앞에는 🤜 이 이모티콘을 넣고

글자 뒤에는 🤛이 이모티콘을 넣는다고 해보자

 

물론 그냥 div태그마다 글자를 추가하는

<div>🤜첫번째🤛</div>

이런 식으로 넣어주는

방법도 있다

 

근데 만약 저 박스가 엄청 많고 하나하나 다 넣어줘야 한다면??

(물론 option+ ⌘+ F 로 바꿀 수야 있지만 쨌든)

 

 

이걸 해결할 수 있는 방법이 ::before 와 ::after를 활용하는 방법이다!

 

.wrap div::after {
    content: "🤛";
    font-size: 15px;
}
.wrap div::before {
    content: "🤜";
    font-size: 15px;
}

css 부분에 이렇게 추가해 주면 

 

짜잔

다음과 같이 글자 앞뒤에 이모티콘이 추가된 것을 활용할 수 있다

 

직접 body부분에서도 수정을 할 수 있지만

 

비슷한 요소들을 이렇게 한번에 관리할 수 있다는 것이 장점인 것 같다

 

여기서 한걸음 더 나아가서

 

제일 첫번째 글자 왼쪽과 마지막 세번째 글자 오른쪽에 ❤️를 추가하고 싶다고 가정해보자

 

이것도 물론 직접 넣어줄 수도 있지만 

 

이때 활용할 수 있는게 

:first-child 와 :last-child 이다

이름에서도 알 수 있듯

 

각각 형제 요소중 제일 첫 요소와 제일 마지막 요소를 다룰 수 있다

 

그래서 

.wrap div:first-child::before {
    content: "❤️";
    font-size: 15px;
}
.wrap div:last-child::after {
    content: "❤️";
    font-size: 15px;
}

이렇게 코드를 추가하면

 

div의 가장 첫 요소 앞에 하트를 추가하고

가장 마지막 요소 뒤에 하트를 추가할 수 있다

결과물은 다음과 같다

 

이것들을 적절히 활용한다면 템플릿 부분에서 수정을 안해도 되고

 

여러 요소를 한번에 다룰 수 있어서 매우 유용할 것 같다

 

 

 

부디 도움이 되셨기들~~

반응형
저작자표시 비영리

'개발💻 > CSS' 카테고리의 다른 글

[CSS] 지그재그로 배치하기 (nth-of-type)  (6) 2023.11.13
'개발💻/CSS' 카테고리의 다른 글
  • [CSS] 지그재그로 배치하기 (nth-of-type)
Moooo_
Moooo_
나의 일상과 개발 공부 기록🤗
  • Moooo_
    MooooStory
    Moooo_
  • 전체
    오늘
    어제
    • 분류 전체보기 (131)
      • 일상☀️ (61)
        • 그냥 이것 저것 아무거나🌈 (48)
        • 무슐랭가이드🍽️ (8)
        • 독서📚 (1)
        • 여행🚶🏻 (4)
      • 개발💻 (70)
        • Vue (16)
        • React (0)
        • NEXT.JS (1)
        • JavaScript (5)
        • TypeScript (4)
        • CSS (2)
        • Moostock (14)
        • Python (1)
        • CS (0)
        • 알고리즘 (21)
        • DB (0)
        • 기타 (6)
  • 인기 글

  • 최근 글

  • 링크

    • 깃허브
    • 인스타
  • 반응형
  • hELLO· Designed By정상우.v4.10.0
Moooo_
[CSS] ::before 와 ::after 알아보기(:first-child,:last-child)
상단으로

티스토리툴바