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

나눔웹 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
번호 분류 제목 글쓴이
86 웹 성능 홈페이지 로딩 속도를 3배 높이는 '이미지 최적화' 실무 가이드 나눔웹
85 퍼블리싱 CSS 변수로 유지보수와 테마 기능을 한 번에! (CSS Custom Properties) 나눔웹
84 마케팅 카카오톡 링크 썸네일의 비밀! 클릭률을 높이는 '오픈 그래프(OG)' 세팅법 나눔웹
83 모바일 모바일 꽉 찬 화면 하단 짤림 현상! '100vh'의 함정과 완벽 해결법 나눔웹
82 웹 성능 홈페이지 첫 화면 글자 깜빡임(투명 현상) 1초 만에 해결하는 법 나눔웹
81 퍼블리싱 스마트폰에서 로고가 흐리게 보인다고요? 'SVG' 포맷이 정답입니다. 나눔웹
80 웹 성능 클릭 실수 유발하는 '화면 덜컹거림(CLS)', 단 한 줄로 해결하는 법 나눔웹
79 모바일 고객의 이탈을 막는 1초 디테일, '모바일 맞춤형 키보드' 세팅법 나눔웹
78 UI/UX 모바일에서 버튼 누를 때 생기는 촌스러운 '회색 박스' 없애는 법 나눔웹
77 UI/UX 레이아웃을 망치는 긴 글, 예쁘게 '...'으로 자르는 마법의 CSS 나눔웹
76 UI/UX 상단 메뉴에 제목이 가려진다고요? '부드러운 스크롤' 마법의 2줄 나눔웹
75 모바일 아이폰에서 입력창 누를 때 화면 '자동 확대'되는 현상 막는 법 나눔웹
74 퍼블리싱 지저분한 모바일 스크롤바, 기능은 남기고 쏙 숨기는 마법의 CSS 나눔웹
73 모바일 모바일 웹을 진짜 '앱(App)'처럼! 이미지 꾹 누를 때 뜨는 팝업 막기 나눔웹
72 UI/UX 애플(Apple) 사이트처럼 고급스러운 '반투명 유리' 메뉴 만드는 법 나눔웹
71 퍼블리싱 무거운 플러그인 NO! 넷플릭스처럼 쫀득한 '가로 스와이프' CSS로 뚝딱 만들기 나눔웹
70 UI/UX 1%의 디테일이 브랜딩을 완성합니다! '텍스트 드래그 색상' 바꾸기 나눔웹
69 UI/UX 투박한 파란색 체크박스는 그만! 단 1줄로 우리 회사 컬러 입히기 나눔웹
68 모바일 하단 고정 버튼이 아이폰 '검은 줄'에 겹친다면? (Safe Area 대응법) 나눔웹
67 모바일 앗, 실수로 새로고침! 튕기는 모바일 화면 꽉 잡는 법 (Overscroll) 나눔웹
Board Pagination Prev 1 2 3 4 5 Next
/ 5
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4