실무에 바로 적용할 수 있는 웹 제작 꿀팁 및 유용한 자료실 공간입니다.
나눔웹이 제공하는 핵심 노하우와 마케팅 인사이트를 자유롭게 활용해 보십시오.

나눔웹 UI/UX 꿀팁

링크 밑줄이 글자에 붙어 답답할 때, text-underline-offset으로 다듬는 법

본문 링크 밑줄이 글자 바닥에 딱 붙어 답답해 보인다면, 밑줄을 지우기보다 text-underline-offset과 text-decoration-thickness로 간격과 두께만 조정하는 편이 낫습니다.
CSS 몇 줄이면 되고, 링크인지 알아보기 쉬운 장점은 그대로 남습니다.

💡 밑줄을 그냥 없애면 안 되나요?

리뉴얼 상담을 하다 보면 "밑줄이 촌스러워서 지워 달라"는 요청을 자주 받습니다. 그런데 본문 속 링크에서 밑줄을 빼고 색만 다르게 두면, 색 구분이 어려운 분이나 햇빛 아래에서 휴대폰을 보는 분은 어디가 링크인지 알기 어렵습니다. 웹 접근성 기준(WCAG)도 색만으로 정보를 구분하지 말라고 권합니다. 그래서 밑줄은 두고 모양을 다듬는 쪽을 추천합니다.

1. 간격과 두께를 em 단위로 조정하기

text-underline-offset은 밑줄을 글자에서 얼마나 띄울지, text-decoration-thickness는 밑줄 두께를 정합니다. px 대신 em으로 주면 제목처럼 글자가 커지는 곳에서도 비율이 자연스럽게 따라갑니다.

/* 본문 링크 밑줄 다듬기 */
.post a {
  color: #cc2b2b;
  text-decoration-line: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.25em;
  text-decoration-color: rgba(204, 43, 43, 0.4);
}
.post a:hover {
  text-decoration-color: currentColor;
}

밑줄 색을 글자보다 옅게 두고 마우스를 올렸을 때만 진하게 바꾸면, 평소에는 차분하고 누를 때는 반응이 분명해집니다. 사파리 일부 버전에서는 text-decoration 단축 속성 안에 넣은 두께가 무시되는 경우가 있어서, 위처럼 속성을 하나씩 나눠 적는 편이 안전합니다.

2. 두 줄로 넘어가는 링크에 밑줄 애니메이션 넣기

메뉴나 카드 제목에 밑줄이 왼쪽부터 그어지는 효과를 넣을 때 ::after로 선을 만들면, 링크가 두 줄로 넘어가는 순간 마지막 줄에만 선이 생깁니다. 배경 그라디언트로 그리면 줄마다 따라가서 이 문제가 없습니다.

/* 줄바꿈돼도 줄마다 밑줄이 그어짐 */
.card-title a {
  text-decoration: none;
  background: linear-gradient(currentColor, currentColor)
    0 100% / 0 1px no-repeat;
  transition: background-size 0.3s;
}
.card-title a:hover,
.card-title a:focus-visible {
  background-size: 100% 1px;
}

:focus-visible을 같이 적어 두면 키보드로 이동하는 방문자에게도 같은 효과가 보입니다.

3. 어디에 어떤 방식을 쓸지

위치추천 방식
본문 속 링크밑줄 유지, 간격·두께·색만 조정
상단 메뉴평소 밑줄 없음, hover·현재 페이지 표시
카드·목록 제목배경 그라디언트 밑줄 애니메이션
버튼형 링크밑줄 없이 버튼 모양으로 구분

적용한 뒤에는 실제 휴대폰에서 한글 본문 링크를 한 번 확인해 보세요. 폰트마다 기본 밑줄 위치가 달라서, 같은 값이라도 나눔고딕과 Pretendard에서 간격이 조금씩 다르게 보입니다.

"밑줄 하나도 읽기 편해야 누르게 됩니다."

나눔웹은 리뉴얼할 때 링크·버튼·메뉴의 상태 표시를 따로 정리해
방문자가 어디를 눌러야 할지 헷갈리지 않도록 맞춥니다.


List of Articles
번호 분류 제목 글쓴이
» UI/UX 링크 밑줄이 글자에 붙어 답답할 때, text-underline-offset으로 다듬는 법 new 나눔웹
85 모바일 모바일 키보드가 입력창을 가릴 때, visualViewport로 화면 맞추는 법 new 나눔웹
84 웹 성능 사용하지 않는 CSS 줄이기, 크롬 Coverage 탭으로 안 쓰는 코드 찾는 법 나눔웹
83 마케팅 GA4 문의 전환 설정법, 감사 페이지 도달로 실제 문의 수 세는 순서 나눔웹
82 UI/UX 고정 헤더에 제목이 가려질 때, scroll-margin-top으로 앵커 맞추는 법 나눔웹
81 퍼블리싱 CSS 컨테이너 쿼리 쓰는 법, 화면이 아니라 카드 폭에 맞춰 반응하기 나눔웹
80 UI/UX 폼 에러가 입력 전에 뜨는 문제, :user-invalid로 고치는 법 나눔웹
79 모바일 모바일 브라우저 상단바 색 맞추기, theme-color 메타 태그 쓰는 법 나눔웹
78 마케팅 문의 완료 페이지 noindex 설정법, 검색에 잡히지 않게 막는 순서 나눔웹
77 UI/UX 문의란이 내용만큼 늘어나게, CSS field-sizing으로 맞추는 법 나눔웹
76 웹 성능 긴 페이지 스크롤이 무거울 때, content-visibility로 렌더링 줄이는 법 나눔웹
75 모바일 모바일 100vh 잘림, dvh·svh로 주소창 높이까지 맞추는 법 나눔웹
74 마케팅 구글 서치 콘솔 등록 방법, 새 홈페이지 소유권 확인부터 색인 요청까지 나눔웹
73 퍼블리싱 CSS :has() 선택자 활용법, 자식 상태에 따라 부모 박스 스타일 바꾸기 나눔웹
72 웹 성능 반응형 이미지 srcset 쓰는 법, 모바일에 PC용 큰 사진을 보내지 않으려면 나눔웹
71 퍼블리싱 제목 줄바꿈이 어색할 때, text-wrap: balance로 한 단어만 남는 문제 정리 나눔웹
70 마케팅 robots.txt 작성법, 검색에 안 보여야 할 페이지와 사이트맵 위치 알려주는 순서 나눔웹
69 UI/UX 스켈레톤 로딩 화면 만들기, 빈 화면 대신 회색 자리 표시로 기다림 줄이는 법 나눔웹
68 퍼블리싱 모바일에서 표(table)가 깨질 때, 가로 스크롤로 감싸거나 카드형으로 바꾸는 법 나눔웹
67 웹 성능 gzip 압축 설정법, 홈페이지 HTML·CSS 파일을 작게 보내 로딩 줄이는 순서 나눔웹
Board Pagination Prev 1 2 3 4 5 Next
/ 5
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4