ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • react에서 text길이에 따라서 css 속성 변경
    Language/CSS,HTML 2023. 7. 26. 11:29
    반응형

    js에서 비교문을 넣지 않고 text의 길이에 따라서 css 속성을 변경하려고 하는데 구글링해도 입맛에 맞는 마땅한게 없어 보여서 직접 잔머리좀 굴려 보았다.

     

    CSS

    css에서 data-length 값에 따라 css속성을 부여한다.

    ...
    
    .wrap > :global(.global-header) .new-count[data-length="1"] { left: 25px; }
    .wrap > :global(.global-header) .new-count[data-length="2"] { left: 23px; }
    .wrap > :global(.global-header) .new-count[data-length="3"] { left: 20px; }
    
    ...

     

    JS

    css 판단할 수 있도록 text의 길이를 data-length에 넣어준다.

    ...
    
    const Home = (props) => {
      ...
    
      const unreadNotificationCount = my?.UNREAD_NOTIFICATION_CNT;
    
      return (
        ...
    
        <img className={cx('alarm')} src="/images/button_title_bell_off_gray100_48.svg"></img>
      
        {unreadNotificationCount > 0 && (
          <span className={cx('new-count')} data-length={unreadNotificationCount.toString().length}>
            {unreadNotificationCount > 99 ? 99 + '+' : unreadNotificationCount}
          </span>
        )}
      
        ...
      );
    };
    
    export default Home;

     

    아래와 같이 결과물이 완성되었다.!

     

    짝짝!

     

    'Language > CSS,HTML' 카테고리의 다른 글

    이미지 두번 load되는 현상  (0) 2021.04.22
    check box IE에서 background 표시 이슈  (0) 2021.03.17

    댓글

Designed by Tistory.