• 회원가입
  • 로그인
  • 구글아이디로 로그인

[selector] CSS - ::highlight() 가상선택자 - 사용자 정의 강조 표시의 스타일을 지정 (= highlight선택자 = 하이라이트선택자)

목차
  1. ::highlight() 예제 - 사용자 정의 강표 표시 스타일 지정
  2. ::highlight() 정의
  3. ::highlight() 구문

 

::highlight() 예제 - 사용자 정의 강표 표시 스타일 지정

 

<style>

#hz {

  font-family: verdana;

  font-size: 30px;

}


::highlight(mycolor-1) {color: red;}

::highlight(mycolor-2) {color: green;}

::highlight(mycolor-3) {color: blue;}

::highlight(mycolor-4) {color: magenta;}

</style>


<p id="hz">홈짱닷컴 Homzzang.com</p>


<script>

const textNode = document.getElementById("hz").firstChild;


if (!CSS.highlights) {

  textNode.textContent = "Highlight API 지원 X";

}


// 각 색상에 대한 하이라이트 생성 후 등록

const highlights = [];

for (let i = 0; i < 4; i++) {

  // 이 색상에 대한 새로운 하이라이트 생성.

  const colorHighlight = new Highlight();

  highlights.push(colorHighlight);


  // 이 하이라이트를 사용자 정의 이름으로 등록.

  CSS.highlights.set(`mycolor-${i + 1}`, colorHighlight);

}


// 텍스트를 문자 하나하나씩 반복.

for (let i = 0; i < textNode.textContent.length; i++) {

  // 이 문자에 대해 새로운 범위 생성.

  const range = new Range();

  range.setStart(textNode, i);

  range.setEnd(textNode, i + 1);


  // 다음 사용 가능한 하이라이트에 범위를 추가,

  // 4번째에 도달하면 첫 번째 루프로 회귀.

  highlights[i % 4].add(range);

}

</script>

 

결과보기

 

::highlight() 정의

 

사용자 정의 강조 표시의 스타일을 지정하는 데 사용.  (즉, 사용자가 선택한 텍스트에 하이라이트 스타일을 지정할 수 있도록 해줌.)

 



1.

  • 이 선택자는 CSS Custom Highlight API의 일부로, JavaScript와 CSS를 함께 사용해 특정 텍스트 영역에 스타일을 적용할 수 있게 해줌.
  • Range 객체의 컬렉션이며 HighlightRegistry 사용해 웹페이지에 등록함.


2. ::highlight() 선택자에서 사용 가능한 속성 종류

 

3.

  • CSS Custom Highlight API Module Level 1
  • IE 제외한 주요 최신 브라우저 모두 지원.

 

 

::highlight() 구문

 

::highlight(custom-highlight-name) { CSS 선언; }

 

 


분류 제목
css CSS - tab-size 속성 - 탭크기(=탭너비) 지정 (= tab-size속성 = 탭사이즈속성)
counter CSS - counter() 함수 / counters() 함수 - 카운터 값을 요소에 추가 (= counte…
css CSS - clip-path 속성 - 보일 범위 지정해 자르기 (= clip-path속성 = 클립패스속성) …
text CSS - text-emphasis-color 속성 - 텍스트 강조마크의 색상 지정 (= text-empha…
grid CSS - grid-template-columns 속성(C) ★ - 그리드 열 개수와 너비 지정 (= gri…
font CSS - font-stretch 속성 - 폰트 너비 조정 (= font-stretch속성 = 폰트스트레치속…
css CSS - widows 속성 - 페이지나 열의 상단에 남겨야 하는 최소 줄 수 지정 (= widows속성 =…
font CSS - font-size-adjust 속성 - 소문자 x 높이 기준으로, 대체 글꼴 크기 재조정 (= f…
background CSS - background-position-y 속성 - 배경이미지 y축위치(=수직위치) 설정 (= bac…
text CSS - text-emphasis-position 속성 - 텍스트 강조마크 위치 지정 (= text-emp…
grid CSS - grid-template-areas 속성(C) - 그리드 아이템의 컬럼 영역 지정 (= grid-…
text CSS - text-decoration-thickness 속성 - 텍스트라인 두께 지정 (= text-dec…
counter CSS - counter-increment 속성 - 카운터 값 증가 (= counter-increment속성…
css CSS - 지그재그 톱날모양 물결무늬
box CSS - aspect-ratio 속성 - 요소의 종횡비율(= 가로세로비율) 지정 (= aspect-rati…
grid CSS - grid-template-rows 속성(C) - 그리드 행 개수와 높이 지정 (= grid-tem…
intro CSS - @import 구문 - 지정 외부스타일시트파일을 현재 스타일시트에 삽입/가져오기 (= @impor…
text CSS - text-underline-offset 속성 - 텍스트와 밑줄라인과의 간격 지정 (= text-u…
text CSS - text-emphasis-style 속성 - 텍스트 강조마크 모양 지정 (= text-emphas…
counter CSS - counter-reset 속성 - 카운터변수 생성/초기값재설정 (= counter-reset속성 …
10/27
목록
찾아주셔서 감사합니다. Since 2012