CSS로 스크롤 효과에 대한 텍스트 공개 방법
순수한 CSS는 스크롤 트리거 텍스트 디스플레이 효과를 직접 달성 할 수는 없지만 소량의 JavaScript 및 CSS 전환 애니메이션을 결합하여 효율적으로 구현할 수 있습니다. 구체적인 방법은 JavaScript를 사용하여 요소가 뷰포트에 들어가고 "공개 된"클래스를 추가하는지 여부를 감지하는 것입니다. CSS는 투명성 및 변위의 전환 효과를 정의 할 책임이 있습니다. 교차로 관찰자 API를 사용하여 성능을 향상시키고 궁극적으로 부드럽고 우아한 스크롤 텍스트 디스플레이 효과를 달성하는 것이 좋습니다.
CSS로 스크롤 효과에 대한 텍스트 공개 텍스트를 작성하는 것은 웹 페이지에 미묘한 상호 작용을 추가하는 깨끗하고 성능적인 방법입니다. 순수한 CSS는 스크롤 기반 애니메이션과 관련하여 한계가 있지만 (CSS 만 스크롤 위치를 직접 감지 할 수 없으므로) Scroll 감지를 위해 최소한의 JavaScript와 결합 된 CSS를 사용하여 설득력있는 텍스트를 공개 할 수 있습니다. 효과적으로 수행하는 방법은 다음과 같습니다.
1. 스크롤 감지를 위해 JavaScript와 함께 CSS를 사용하십시오
진정한 "스크롤"효과는 JavaScript가 사용자의 스크롤 위치를 모니터링하고 요소가 볼 때 클래스 변경을 트리거해야합니다. 그러나 실제 애니메이션과 스타일은 CSS가 처리합니다.
기본 HTML 구조
<div class = "공개 컨테이너"> <p class = "text-to-reveal">이 텍스트는 스크롤 할 때 공개됩니다. </p> </div>
CSS : 공개 애니메이션을 정의하십시오
.Text-to-Reveal { 불투명도 : 0; 변환 : Translatey (20px); 전환 : 불투명도 0.8S 편의성, 0.8 초의 편의를 변환; } .text-to-Reveal.revealed { 불투명도 : 1; 변환 : Translatey (0); }
이것은 텍스트를 보이지 않게하고 처음에는 약간 바뀌 었습니다. revealed
클래스가 추가되면 사라지고 매끄럽게 움직입니다.
JavaScript : 스크롤에 클래스를 추가하십시오
const textElements = document.querySelectorAll ( '. Text-to-Reveal'); const restoinscroll = () => { textlements.foreach (el => { const ElementTop = el.getBoundingClientRect (). 상단; Const WindowHeight = Window.innerHeight; // 요소가 뷰포트에있는 경우 if (elementTop <windowheight * 0.8) { el.classlist.add ( '공개'); } }); }; //로드 및 스크롤에서 실행됩니다 window.addeventListener ( 'load', 공개 스크롤); window.addeventListener ( 'scroll', respliconscroll);
이 스크립트는 각 .text-to-reveal
요소가 뷰포트 높이의 80% 이내인지 확인합니다. 공개가 발생할 때 제어하기 위해 0.8
조정할 수 있습니다 (예 : 이전의 경우 0.7
, 완전히 볼 수있는 경우 1
).
2. 선택 사항 : 재사용 성을 위해 CSS 사용자 정의 속성을 사용하십시오
CSS 변수를 사용하여 효과를보다 유연하게 만들 수 있습니다.
.reveal-container { -reveal-delay : 0.2s; } .Text-to-Reveal { 불투명도 : 0; 변환 : Translatey (20px); 전환 : 불투명도 0.8S 편의성, 0.8 초의 편의를 변환; 전환 지연 : var (-공개 지연, 0S); } .text-to-Reveal.revealed { 불투명도 : 1; 변환 : Translatey (0); 전환 지연 : var (-공개 지연, 0S); }
이제 요소 당 타이밍을 제어 할 수 있습니다.
<div class = "공개 컨테이너"스타일 = "-공개 델리 : 0.3S;"> <p class = "Text-to-Reveal">는 약간 나중에 나타냅니다 </p> </div>
3. 성능 팁
성능 문제를 방지하기 위해 스크롤 이벤트 스로틀 :
isscrolling = false; window.addeventListener ( 'scroll', () => { if (! isscrolling) { window.requestanimationFrame (() => { 공개 콘 스크롤 (); isscrolling = 거짓; }); isscrolling = true; } });
애니메이션에 대한
transform
및opacity
사용하십시오. GPU가 셀러 팅되어 있으며margin
이나top
보다 더 잘 수행합니다.청취자를 너무 많은 요소에 첨부하지 마십시오. 다중 공개 요소에 단일 관찰자 패턴을 사용하는 것을 고려하십시오.
4. 대안 : 교차로 관찰자 사용 (권장)
더 나은 성능과 클리너 코드를 보려면 IntersectionObserver
사용하십시오. API를 사용하십시오.
const observer = new intersectionObserver ((entries) => { entries.foreach (entry => { if (EntrysInterSecting) { Entry.target.classlist.add ( '공개'); // 선택 사항 : 공개 후 관찰 중지 Observer.unobserve (Entry.target); } }); }, {임계 값 : 0.1}); // 요소의 10%가 표시되면 트리거됩니다 document.querySelectorALL ( '. Text-to-Reveal'). foreach (el => { Observer.observe (el); });
이것은 모든 스크롤 이벤트를 듣는 것보다 더 효율적이며 스크롤 기반 공개의 최신 표준입니다.
기본적으로 CSS 만으로 진정한 스크롤 트리거 공개를 할 수는 없지만 최소한의 JavaScript와 부드러운 CSS 전환을 결합하면 강력하고 성능이 좋은 텍스트 공개 효과가 제공됩니다. 최상의 결과를 얻으려면 IntersectionObserver
사용하고 전문적인 모습을 위해 애니메이션을 미묘하게 유지하십시오.
위 내용은 CSS로 스크롤 효과에 대한 텍스트 공개 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

먼저, 너비, 높이, 여백, 국경, 글꼴 및 색상과 같은 기본 스타일을 설정합니다. 2. 호버 및 초점 상태를 통한 대화식 피드백 향상; 3. 크기 조정 속성을 사용하여 크기 조정 동작을 제어하십시오. 4. 자리 표시 자 텍스트를 스타일링하려면 :: 자리 표시 자 의사 요소를 사용하십시오. 5. 반응 형 디자인을 사용하여 교차 사기 가용성을 보장합니다. 6. 접근성을 보장하기 위해 상관 관계 라벨, 색상 대비 및 초점 윤곽선에주의를 기울이고 궁극적으로 아름답고 기능적인 텍스토리 스타일을 달성하십시오.

HTML 및 CSS를 사용하여 JavaScript없이 드롭 다운 메뉴를 만듭니다. 2. 호버 의사 클래스를 통해 하위 메뉴 디스플레이를 트리거합니다. 3. 중첩 된 목록을 사용하여 구조를 구축하고 CSS에 숨겨진 및 매달린 디스플레이 효과를 설정하십시오. 4. 시각적 경험을 향상시키기 위해 전환 애니메이션을 추가 할 수 있습니다.

ThePointer-EventsPropertyIncsscontrolswheTheranElementCanBethetArgetOfPointerEvents.1.UsePointer-Events : nonetodisableInterActionSlikeClickSorHoverSwHileKepingTheElementSibleSible.2.AppLyItToOverLayStoClick-throughtounderlyELELENELENELENELEMEN

사용 OBJECT-FITORMAX-WIDTHWITHHEIGHT : AutoTopRevEntImagedIsportion; 개체-피트 컨트롤 하위 링크 컨테이너 및 max width : 100%;

usethebox-shadowpropertytoadddropshadows.definehorizontalandverticaloffsets, 흐림, 스프레드, 색상 및 옵션 alinsetforinnershadows.multipleshadowsarecomma-separated.example : box-shadow : 5px10px8pxrgba (0,0,0,0.3);

CSS 그라디언트 배경을 추가하려면 배경 또는 배경 이미지 속성을 사용하여 Linear-Gradient (), Radial-Gradient ()와 같은 함수와 협력하십시오. 먼저 그라디언트 유형을 선택하고 방향과 색상을 설정하고 컬러 도킹 포인트, 모양, 크기 및 선형 그레이드 (Toright,#ff7e5f,#feb47b)와 같은 기타 매개 변수를 통해 미세하게 제어하여 왼쪽에서 오른쪽으로 선형 그라디언트를 생성하여 Radial-Gradient (원,#ff9a9e,#fecfef)를 생성하여 원형 구배를 만들어냅니다.

tomaketextresponsiveincss, userelativeUnitslikerem, vw, andclamp () withmediaqueries.1.replacefixedpixelswithRemforConsistentScali ngbasedonrootfontsize.2.usevwforfluidscalingbutcombinewithcalc () orclamp () topreventextremes.3.applymediaqueriesatcommonbreakpo

Border-Radius : 50%를 사용하여 폭과 높이의 이미지를 원으로 바꾸고, 객체 적합 및 종횡비를 결합하여 모양과 자르기를 보장하고, 경계, 그림자 및 기타 스타일을 추가하여 시각 효과를 향상시킵니다.
