AD JB Toolbox 01

HTML 강좌 / 링크(link)

HTML 링크는 a 요소의 href 속성에 이동할 주소를 지정해 만듭니다. 주소에는 다른 웹페이지, 같은 사이트의 파일, 현재 문서의 특정 위치 또는 이메일 주소를 넣을 수 있습니다. 링크 문구는 이동할 내용을 미리 알 수 있게 작성하는 것이 좋습니다.

a와 href로 기본 링크 만들기

a 요소로 링크가 될 문구를 감싸고 href에 목적지 주소를 넣습니다. 다음 링크를 누르면 Coding Factory의 HTML 강좌 목록 글로 이동합니다.

<a href="https://www.codingfactory.net/10225">HTML 목록 작성 방법</a>

화면에 보이는 ‘HTML 목록 작성 방법’은 링크 문구이고, href의 URL은 이동할 주소입니다. href가 없는 a는 일반적인 이동 링크가 아니며, 목적지 없이 href="#"만 넣으면 현재 페이지 맨 위로 이동하는 등 예상하지 못한 동작을 만들 수 있습니다.

절대경로와 상대경로 구분하기

https://로 시작하는 주소는 목적지의 도메인까지 적은 절대 URL입니다. 같은 사이트의 파일을 연결할 때는 현재 문서나 사이트의 루트를 기준으로 한 상대 URL도 쓸 수 있습니다.

다음의 about.html과 ../contact.html은 현재 Coding Factory에 있는 페이지가 아니라, 아래처럼 파일을 배치했다고 가정한 연습용 경로입니다. lessons/index.html에서 링크를 작성합니다.

site/
  contact.html
  lessons/
    index.html
    about.html
<a href="https://www.codingfactory.net/10225">전체 주소로 이동</a>
<a href="about.html">현재 파일과 같은 폴더의 소개 페이지</a>
<a href="../contact.html">한 단계 위 폴더의 연락처 페이지</a>
<a href="/10225">사이트 루트의 HTML 목록 글</a>

about.html은 현재 문서의 위치를 기준으로 해석하지만, /10225처럼 슬래시로 시작하는 경로는 사이트의 루트를 기준으로 해석합니다. 로컬 file:// 파일에서 시작하는 슬래시와 서버에서 시작하는 슬래시는 기준이 다를 수 있으므로, 실제 배포 경로에서 링크를 다시 확인하세요.

문서의 특정 위치로 이동하기

같은 문서 안에서 이동하려면 목적지 요소에 고유한 id를 지정하고, 링크의 href에 #과 그 값을 적습니다.

<a href="#contact">연락처로 이동</a>

<h2 id="contact">연락처</h2>
<p>문의 방법을 안내합니다.</p>

다른 문서 안의 위치로 이동한다면 문서 URL 뒤에 #contact를 붙입니다. 예를 들어 about.html#contact는 about.html 안의 id="contact" 요소를 가리킵니다. 같은 페이지에서 id를 중복해서 쓰지 않습니다.

이메일 링크와 새 탭 링크 만들기

mailto:로 시작하는 주소는 사용자의 메일 앱에서 새 메시지를 작성하도록 요청합니다. 메일 앱이 설정되지 않았다면 원하는 결과가 나오지 않을 수 있습니다.

<a href="mailto:hello@example.com">이메일 보내기</a>

외부 사이트를 새 탭에서 열려면 target="_blank"를 사용하고, 사이트의 링크 정책에 맞게 rel="noopener noreferrer"도 지정합니다.

<a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/a"
   target="_blank" rel="noopener noreferrer">MDN의 a 요소 설명</a>

새 탭이 꼭 필요한지는 독자의 작업 흐름에 따라 판단합니다. 새 탭에서 열리는 링크라면 문구나 주변 설명으로 그 동작을 알리는 것도 도움이 됩니다.

파일 다운로드 링크의 범위

download 속성은 링크한 파일을 내려받도록 브라우저에 요청합니다. 예를 들어 같은 사이트에 올린 다음 이미지 파일에 사용할 수 있습니다.

<a href="/wp-content/uploads/html-image-sample-lake-tree-1600-v1.webp" download>예제 이미지 내려받기</a>

download는 같은 출처의 URL 또는 blob:, data: URL에 사용할 수 있습니다. 다른 사이트의 일반적인 URL에 붙여 다운로드를 강제할 수는 없습니다. 같은 출처의 파일이라도 실제 처리 방식은 브라우저 설정과 서버 응답에 따라 달라질 수 있습니다.

링크를 확인할 때 살펴볼 점

  • ‘여기’보다 ‘HTML 목록 작성 방법’처럼 목적지를 설명하는 문구를 사용합니다.
  • 상대경로는 현재 문서의 위치와 배포 후 사이트 경로를 기준으로 확인합니다.
  • #id 링크는 목적지의 id가 정확히 일치하는지 확인합니다.
  • 이메일 링크와 다운로드 링크는 브라우저·사용자 환경에 따라 동작이 달라질 수 있음을 고려합니다.

URL 형식과 a 요소의 속성은 MDN의 HTML 링크 요소 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
HTML 강좌 / 텍스트에 의미 부여하기

HTML 강좌 / 텍스트에 의미 부여하기

HTML의 em, strong, q, blockquote, abbr, code, kbd를 상황에 맞게 쓰는 방법을 예제로 설명합니다. 글자의 모양이 아니라 텍스트의 의미를 표시하는 기준을 익힐 수 있습니다.

HTML 강좌 / 문법

HTML 강좌 / 문법

HTML 요소·태그·속성·주석의 기본 문법을 예제로 설명합니다. 빈 요소, 속성값 따옴표, 태그 중첩에서 주의할 점과 문법 확인 방법도 다룹니다.

HTML 강좌 / 링크(link)

HTML 강좌 / 링크(link)

HTML 링크의 href에 절대경로와 상대경로를 쓰고, 문서 내부 이동·이메일·새 탭·다운로드 링크를 만드는 방법을 예제로 설명합니다.

HTML 강좌 / textarea, select, option, button 사용하기

HTML 강좌 / textarea, select, option, button 사용하기

여러 줄 입력, 선택 목록, 양식 버튼을 만드는 요소의 역할과 값이 제출되는 방식을 예제로 설명합니다.

HTML 강좌 / 이미지 넣기: img, alt, 크기

HTML 강좌 / 이미지 넣기: img, alt, 크기

HTML img 요소로 이미지를 넣고 alt 대체 텍스트와 width·height를 설정하는 방법을 설명합니다. 실제 예제 이미지로 경로와 크기 문제도 확인할 수 있습니다.

HTML 강좌 / HTML 문서의 기본 구조

HTML 강좌 / HTML 문서의 기본 구조

HTML 문서를 이루는 doctype, html, head, body의 역할과 기본 작성 순서를 예제로 설명합니다. 문서 정보와 페이지 본문을 구분하고 첫 HTML 파일을 직접 만들어 볼 수 있습니다.

HTML 강좌 / input 유형 선택하기: 이메일·숫자·날짜·체크박스·라디오

HTML 강좌 / input 유형 선택하기: 이메일·숫자·날짜·체크박스·라디오

입력 목적에 맞는 input type을 고르고 체크박스와 라디오 버튼의 선택·제출 동작을 구분하는 방법을 설명합니다.

HTML 강좌 / 여러 페이지로 된 작은 사이트 만들기

HTML 강좌 / 여러 페이지로 된 작은 사이트 만들기

홈·소개·문의 페이지를 연결하는 작은 사이트를 만들고 메뉴, 양식, 키보드 조작과 문서 오류를 점검하는 종합 실습입니다.

HTML 강좌 / 반응형 이미지: srcset, sizes, picture

HTML 강좌 / 반응형 이미지: srcset, sizes, picture

HTML의 srcset과 sizes로 화면에 맞는 이미지 파일을 선택하고, picture로 좁은 화면의 이미지 구도를 바꾸는 방법을 실제 파일 예제로 설명합니다.

HTML 강좌 / audio, video, iframe으로 미디어와 외부 콘텐츠 삽입하기

HTML 강좌 / audio, video, iframe으로 미디어와 외부 콘텐츠 삽입하기

오디오·비디오 파일과 외부 콘텐츠를 HTML에 삽입할 때 필요한 기본 코드, 자막, 파일 경로, 접근성 확인 사항을 설명합니다.