Computer >> 컴퓨터 >  >> 프로그램 작성 >> CSS

CSS 툴팁

웹 사이트를 디자인할 때 사용자가 사이트의 요소 위로 마우스를 가져갔을 때 웹 페이지에 있는 무언가에 대한 추가 정보를 표시하기로 결정할 수 있습니다.

예를 들어, 자주 묻는 질문 페이지를 디자인하는 경우 웹 페이지에 나열된 기술 용어에 대한 추가 정보를 표시할 수 있습니다. 이 정보는 사용자가 기술 용어 위로 마우스를 가져갈 때만 나타나야 합니다.

사용자가 요소 위로 마우스를 가져갈 때 정보를 표시하기 위해 도구 설명을 만들 수 있습니다. 이 자습서에서는 예제를 참조하여 CSS에서 도구 설명을 만드는 방법에 대해 설명합니다. 이 튜토리얼을 다 읽고 나면 CSS로 툴팁을 만드는 전문가가 될 것입니다.

CSS 도구 설명

도구 설명은 웹 페이지의 요소에 대한 정보를 추가하는 데 사용됩니다. 도구 설명은 특히 사이트 작성자가 무언가를 명확히 하거나 텍스트 블록의 단어에 정의를 추가하려는 경우 웹 사이트의 다양한 위치에 나타납니다.

도구 설명을 만드는 데 사용되는 기본 HTML 요소는 없습니다. 따라서 툴팁처럼 보이는 요소를 디자인하려면 HTML과 CSS의 조합에 의존해야 합니다.

툴팁에 대한 HTML 코드를 작성하는 것으로 시작하겠습니다. 이 예에서는 레시피 웹사이트에 대한 툴팁을 만들 것입니다. 사용자가 prepare the baking tray 용어 위로 마우스를 가져가면 ., 독자에게 베이킹 트레이를 준비하는 방법을 상기시키기 위해 일부 텍스트와 함께 툴팁이 나타나야 합니다.

다음은 툴팁의 HTML 코드입니다.

<html>

<div style="text-align:center;">
	<p>Instructions for baking:</p>
<div class="tooltip">Prepare the baking tray.
	<span class="contents">Line tray with greaseproof paper.</span>
<div>
</div>

먼저 우리 코드에서 하나의 style이 있는

태그를 만들었습니다. 속성 집합입니다. 우리가 정의한 스타일은
태그의 텍스트를 요소의 중앙에 정렬합니다(text-align:center). 그런 다음

태그를 사용하여 Instructions for baking: 텍스트가 포함된 단락을 만듭니다. .

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

다음으로 툴팁이 표시될 구분선을 만들었습니다. 그러면 prepare the baking tray 텍스트가 표시됩니다. .

태그 내부에는 사용자가 Prepare the baking tray 용어 위로 마우스를 가져갈 때 표시할 텍스트가 포함된 태그가 있습니다. .

바로 지금, 우리 코드는 화면에 모든 텍스트를 보여줍니다. 아직 도구 설명을 만들기 위해 코드에 스타일을 적용하지 않았기 때문입니다. 다음은 CSS 도구 설명을 만드는 데 사용할 스타일입니다.

<html>
  <div style="text-align:center;">
	<p>Instructions for baking:</p>
<div class="tooltip">Prepare the baking tray.
	<span class="contents">Line tray with greaseproof paper.</span>
<div>
</div>

<style>
.tooltip {
	display: inline-block;
	position: relative;
	margin: 50px;
}

.tooltip .tooltiptext {
	visibility: hidden;
 	width: 120px;
	background-color: lightblue;
	color: white;
	text-align: center;
	padding: 10px 0;
	border-radius: 5px;
	position: absolute;
	z-index: 1;
}

.tooltip:hover .contents {
	visibility: visible;
}

CSS 툴팁 위의 코드 편집기에서 버튼을 눌러 HTML/CSS 코드의 출력을 확인하세요.

우리 코드에서 사용자가 Prepare the baking tray 텍스트 위로 마우스를 가져갈 때 트리거되는 툴팁을 만들었습니다. . 이 툴팁에는 웹사이트 독자를 위해 베이킹 트레이를 준비하는 방법에 대한 간략한 알림이 포함되어 있습니다.

데이터 툴팁이 어떻게 생성되었는지 알 수 있도록 CSS 코드가 작동하는 방식을 분석해 보겠습니다.

.도구 설명 스타일

먼저 HTML 코드의

태그에 적용되는 .tooltip이라는 스타일 규칙을 만들었습니다. 이 스타일은 요소를 인라인 수준 블록 컨테이너로 정의합니다. 즉, 새 줄에서 시작됩니다.

또한 도구 설명의 위치를 ​​상대 위치로 설정했습니다. 즉, 페이지를 스크롤하더라도 도구 설명이 같은 위치에 유지됩니다. CSS 위치 가이드에서 CSS 위치 지정에 대해 자세히 알아볼 수 있습니다.

마지막으로 툴팁 텍스트 주위에 50px 여백을 지정하여 툴팁 텍스트와 웹 페이지의 다른 요소 사이에 공간을 만들 수 있습니다. CSS 여백에 대한 초보자 가이드에서 여백에 대해 자세히 알아볼 수 있습니다.

.tooltip .contents 스타일

다음으로, .tooltip .contents라는 스타일 규칙을 정의했습니다. 이 규칙은 클래스 이름이 contents인 모든 요소에 적용됩니다. 상위 클래스의 이름이 tooltip인 경우 .

이 예에서 이것은 이 스타일 규칙이 태그에 적용되었음을 의미합니다. 이 규칙에는 실제 툴팁 속성에 대한 스타일이 포함되어 있습니다.

.contents 스타일에서 visibility 값을 지정합니다. 속성을 hidden . 이는 달리 명시되지 않는 한 도구 설명이 사용자에게 숨겨져 있음을 의미합니다.

그런 다음 툴팁의 너비(너비)를 120px로, 툴팁의 배경색(background-color)을 하늘색으로, 툴팁 텍스트의 텍스트 색상(색상)을 흰색으로 설정합니다. 또한 text-align을 사용하여 툴팁의 텍스트를 요소의 중앙에 정렬했습니다.

.contents 규칙의 끝 부분에 10px 패딩을 설정하여 툴팁의 텍스트와 테두리 사이에 공간을 만듭니다. 또한 테두리 반경을 15px로 설정하여 툴팁에 둥근 모서리 효과를 제공합니다.

다음으로 .contents 요소의 위치 값을 absolute로 설정합니다. , 이는 .contents 요소가 상위 요소를 기준으로 배치되었음을 의미합니다. 이 경우 HTML 코드의 상위 요소는

태그입니다. 즉, 툴팁은 항상 코드의
태그 옆에 표시됩니다.

.tooltip:hover .contents 스타일

마지막으로 .tooltip:hover .contents라는 규칙을 정의했습니다. 이 규칙은 사용자가 클래스 이름이 tooltip인 요소 위로 마우스를 가져갈 때 도구 설명 텍스트를 표시하는 데 사용됩니다. .

이 규칙이 실행되면 .contents 요소의 가시성이 visible로 설정됩니다. . 즉, 사용자가 도구 설명 위로 마우스를 가져가면 도구 설명이 웹 페이지에 표시됩니다.

CSS 도구 설명 배치

위의 예에서 사용자가 Prepare the baking tray 레이블 위로 마우스를 가져가면 텍스트 오른쪽에 툴팁이 나타납니다. . 그러나 툴팁이 텍스트의 다른 가장자리에 나타나도록 사용자 정의할 수 있습니다.

올바른 위치

이전 코드는 이미 툴팁을 텍스트 오른쪽에 배치했습니다. 그러나 이미 다른 방식으로 표시되도록 도구 설명의 스타일을 지정했고 도구 설명을 올바른 위치로 다시 이동하려는 경우 다음 코드를 사용할 수 있습니다.

.tooltip .contents {
	top: -5px;
	left: 105%;
}

이 CSS 규칙은 이전 코드와 결합될 때 도구 설명을 텍스트 오른쪽에 배치합니다. top:-5px 규칙은 도구 설명을 컨테이너 요소의 중심에 정렬합니다. 왼쪽:105% 규칙은 도구 설명 너비의 105%만큼 왼쪽에 있는 도구 설명의 위치를 ​​오프셋하기 때문에 도구 설명을 컨테이너 오른쪽에 배치합니다.

코드는 다음을 반환합니다.

CSS 툴팁

보시다시피 툴팁은 텍스트 오른쪽에 나타납니다.

왼쪽 위치

툴팁이 텍스트 왼쪽에 나타나길 원한다고 가정합니다. 다음 코드를 사용하여 이를 수행할 수 있습니다.

.tooltip .contents {
	top: -5px;
	right: 105%;
}

이 코드는 이전 코드에 추가되었을 때 도구 설명을 텍스트 왼쪽에 배치합니다. top:-5px 규칙은 마지막 예제에서 논의한 것처럼 도구 설명을 컨테이너의 중심에 정렬합니다. 오른쪽:105% 규칙을 사용하면 도구 설명을 컨테이너 왼쪽에 배치할 수 있습니다(또는 도구 설명 너비의 105%만큼 오른쪽 도구 설명 위치를 오프셋).

코드가 반환하는 내용은 다음과 같습니다.

CSS 툴팁

툴팁은 텍스트 왼쪽에 나타납니다.

상위 위치

툴팁이 텍스트 위에 나타나길 원한다고 가정해 보겠습니다. 다음 코드를 사용하여 이 작업을 수행할 수 있습니다.

.tooltip .contents {
	bottom: 100%;
	left: 50%;
	margin-left: -60px;
}

코드는 다음을 반환합니다.

CSS 툴팁

이 예에서는 세 가지 CSS 스타일을 사용하여 텍스트 위에 툴팁을 배치했습니다. 하단:100% 및 왼쪽:50% 스타일을 사용하면 툴팁 레이블 너비의 100%만큼 툴팁을 오프셋할 수 있습니다(prepare the baking tray ) 툴팁 레이블의 하단과 왼쪽에서 각각.

margin-left 스타일을 사용하면 툴팁을 중앙에 배치할 수 있습니다. 툴팁의 너비가 120px이기 때문에 margin-left 값을 -60px(120px의 절반)로 지정했습니다. 이렇게 하면 툴팁이 툴팁 레이블 위에 중앙에 표시됩니다.

하단 위치

prepare the baking tray 아래에 툴팁이 나타나길 원한다고 가정해 보겠습니다. . 상표. 다음 코드를 사용하여 그렇게 할 수 있습니다.

.tooltip .contents {
	top: 100%;
	left: 50%;
	margin-left: -60px;
}

코드는 다음을 반환합니다.

CSS 툴팁

우리 코드는 Top Position과 동일한 스타일을 사용합니다. 한 가지 예외가 있는 예입니다. 이 예에서는 top:100% 스타일을 사용합니다(마지막 예에서 사용한 것처럼 bottom:100% 대신). 이 스타일을 사용하면 도구 설명 레이블 너비의 100%만큼 도구 설명 상자를 오프셋할 수 있습니다(prepare the baking tray .)를 사용하여 레이블 아래에 도구 설명 상자를 배치할 수 있습니다.

도구 설명 페이드 인

도구 설명을 디자인할 때 사용자가 도구 설명 위로 마우스를 가져갈 때 도구 설명 텍스트가 희미해지도록 결정할 수 있습니다. 이렇게 하면 도구 설명이 사용자 화면에 표시되도록 설정되어 있을 때 더 미학적으로 보기 좋은 전환을 만들 수 있습니다.

페이드 인 툴팁을 만드는 데 사용할 수 있는 스타일은 다음과 같습니다.

.tooltip .contents {
	opacity: 0;
	transition: opacity 2s;
}

.tooltip:hover .contents {
	opacity: 1;
}

이 스타일을 첫 번째 예제의 코드와 결합하면 페이드 인 효과를 얻을 수 있습니다. 이것이 어떻게 작동하는지 분석해 보겠습니다. 먼저 툴팁의 불투명도를 0으로 지정합니다. 이는 툴팁이 숨겨져 있음을 의미합니다.

그런 다음 opacity와 2의 두 값으로 transition 속성을 지정합니다. opacity 전환에 적용하려는 CSS 속성을 참조하고 2s 전환 기간(초)을 나타냅니다.

다음으로, 사용자가 툴팁 위로 마우스를 가져갈 때 툴팁의 불투명도를 1로 설정하는 .tooltip:hover .contents 규칙을 만듭니다.

이를 통해 사용자가 툴팁 위로 마우스를 가져가면 요소가 완전히 불투명한(보이지 않는) 상태에서 완전히 보이는 상태로 전환되는 효과를 얻을 수 있습니다. 전환 기간을 2로 지정했기 때문에 이 전환을 완료하는 데 2초가 걸립니다.

CSS 전환에 대해 자세히 알아보려면 CSS 전환 속성에 대한 가이드를 읽어보세요.

결론

도구 설명은 웹 페이지에 추가 정보를 표시하는 데 사용됩니다. HTML 및 CSS의 도움으로 웹 페이지에 추가 정보를 표시할 수 있는 미학적으로 보기 좋은 도구 설명 요소를 디자인할 수 있습니다.

이 자습서에서는 예제를 참조하여 CSS에서 도구 설명을 만드는 방법과 도구 설명을 레이블의 왼쪽, 오른쪽, 아래쪽 및 위쪽에 배치하는 방법을 살펴보았습니다. 또한 사용자가 툴팁 레이블 위로 마우스를 가져갈 때 트리거되는 페이드 인 효과를 만드는 방법에 대해 논의했습니다.

이제 전문 웹 디자이너처럼 CSS 도구 설명을 디자인하는 데 필요한 지식을 얻었습니다!