이 튜토리얼에서는 순수 HTML, CSS 및 JavaScript를 사용하여 떠다니는 입자로 매혹적인 네온 조명 효과를 만들어 보겠습니다. 각 구성 요소를 분석하고 이러한 놀라운 시각 효과를 만들기 위해 어떻게 함께 작동하는지 설명하겠습니다.
1. 핵심 구조의 이해
기본 HTML 구조를 분석하는 것부터 시작하겠습니다.
<title>Neon Light Effect</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <div> <p>Here's what each element does:</p> <ul> <li> light-effect: Main container for our neon effect</li> <li> light-inner: Creates the core glow effect</li> <li> light-outer: Adds an additional layer of luminosity and rotation</li> </ul> <h2> 2. CSS Variables and Root Setup </h2> <p>First, let's understand our CSS variables:<br> </p> <pre class="brush:php;toolbar:false">:root { --blur-size: min(40vw, 40vh); }
이 변수는 다음과 같은 이유로 중요합니다.
- 민감한 크기 조정을 위해 min() 사용
- 뷰포트 너비(vw)와 높이(vh)를 결합합니다
- 다양한 화면 크기에 비례하는 효과 생성
3. 바디 스타일링 심층 분석
body { margin: 0; overflow: hidden; background: black; height: 100vh; width: 100vw; display: flex; justify-content: center; align-items: center; }
각 속성을 분석해 보겠습니다.
- margin: 0: 기본 간격을 제거합니다
- 오버플로: 숨김: 스크롤 막대를 방지하고 입자를 포함합니다
- 배경: 검정색: 네온 효과를 위한 대비를 만듭니다
- 높이/너비: 100vh/vw: 전체 뷰포트 범위 보장
- 디스플레이: flex: 중앙 위치 지정 활성화
- justify-content/align-items: center: 완벽한 센터링
4. 주 조명 효과 컨테이너
.light-effect { width: var(--blur-size); height: var(--blur-size); position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: blur(calc(var(--blur-size) * 0.25)); animation: pulseNeon 8s ease-in-out infinite; }
주요 측면 설명:
- 크기 조정: 반응형 크기에 CSS 변수를 사용합니다
-
포지셔닝:
- 위치: 고정: 스크롤 중 안정성 보장
- 위쪽/왼쪽: 50%: 뷰포트 중앙의 위치
- 변환: 변환(-50%, -50%): 완벽한 센터링
-
흐림 효과:
- 크기에 따른 동적 블러
- 부드럽고 사실적인 빛 연출
-
애니메이션:
- 부드러운 효과를 위한 8초 지속
- 자연스러운 움직임을 위한 이즈인아웃 타이밍
5. 내부 조명 레이어 세부정보
.light-inner { position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(138, 43, 226, 0.2) 0%, rgba(72, 61, 139, 0.15) 30%, rgba(0, 0, 255, 0.1) 50%, rgba(255, 255, 255, 0) 70%); mix-blend-mode: screen; }
경도 분석:
-
중앙(0%):
- 불투명도 20%의 보라색 톤
- 핵심 밝기 생성
-
중간층(30%):
- 불투명도 15%에서 더 어두운 보라색
- 깊이를 더하다
-
외부 레이어(50%):
- 불투명도 10%의 파란색 톤
- 전환 생성
-
엣지(70%):
- 투명하게 희미해짐
- 부드러운 가장자리 블렌딩
6. 외부 조명 레이어 세부정보
.light-outer { position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, rgba(138, 43, 226, 0.1) 40%, rgba(0, 0, 255, 0.05) 60%, rgba(255, 255, 255, 0) 80%); animation: rotateGradient 10s linear infinite; mix-blend-mode: screen; }
특수효과 분석:
-
그라데이션 구조:
- 강렬함을 위한 화이트 센터
- 보라색 중간 색상
- 깊이를 더해주는 블루 아우터
-
애니메이션:
- 10초 회전
- 부드러운 움직임을 위한 선형 타이밍
-
블렌딩:
- 빛나는 효과를 위한 화면 모드
- 광채와 색상 혼합 향상
7. 애니메이션 키프레임 설명
<title>Neon Light Effect</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <div> <p>Here's what each element does:</p> <ul> <li> light-effect: Main container for our neon effect</li> <li> light-inner: Creates the core glow effect</li> <li> light-outer: Adds an additional layer of luminosity and rotation</li> </ul> <h2> 2. CSS Variables and Root Setup </h2> <p>First, let's understand our CSS variables:<br> </p> <pre class="brush:php;toolbar:false">:root { --blur-size: min(40vw, 40vh); }
애니메이션 세부정보:
-
펄스네온:
- 번역으로 중앙 위치 유지
- 1에서 1.1 사이의 확장
- 호흡 효과 생성
-
회전 그라데이션:
- 완전한 360도 회전
- 지속적인 움직임
- 역동성을 더하다
8. 파티클 시스템 심층 분석
body { margin: 0; overflow: hidden; background: black; height: 100vh; width: 100vw; display: flex; justify-content: center; align-items: center; }
입자 특성:
-
기본 입자:
- 고정 위치
- 반투명 흰색
- 원형 모양
- 포인터 이벤트 없음
-
크기 변형:
- min()을 사용한 반응형 크기 조정
- 다른 애니메이션 속도
- 모든 기기에서 비율 유지
9. 입자 이동 애니메이션
.light-effect { width: var(--blur-size); height: var(--blur-size); position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: blur(calc(var(--blur-size) * 0.25)); animation: pulseNeon 8s ease-in-out infinite; }
이동 분석:
-
시작(0%):
- 뷰포트 아래에서 시작
- 보이지 않는 상태
-
페이드 인(20%):
- 부드러운 불투명도 전환
-
주요 운동(20-80%):
- 전체 가시성
- 꾸준한 상승 모션
-
종료(80-100%):
- 페이드 아웃 효과
- 뷰포트 위 약간 겹침
10. 동적 입자 생성
.light-inner { position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(138, 43, 226, 0.2) 0%, rgba(72, 61, 139, 0.15) 30%, rgba(0, 0, 255, 0.1) 50%, rgba(255, 255, 255, 0) 70%); mix-blend-mode: screen; }
기능 분석:
-
입자 생성:
- 동적 DOM 요소 생성
- 임의의 크기 할당
- 확률적 분포
-
포지셔닝 로직:
- 임의의 가로 배치
- 랜덤 애니메이션 지연
-
메모리 관리:
- 자동 정리
- 크기에 따른 기간
- 메모리 누수 방지
11. 반응형 디자인 구현
.light-outer { position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, rgba(138, 43, 226, 0.1) 40%, rgba(0, 0, 255, 0.05) 60%, rgba(255, 255, 255, 0) 80%); animation: rotateGradient 10s linear infinite; mix-blend-mode: screen; }
대응 고려사항:
-
태블릿 장치(768px 이하):
- 상대적 크기 증가
- 비율 유지
-
모바일 기기(480px 이하):
- 최대 상대 크기
- 작은 화면에 최적화
12. 성능 최적화
@keyframes pulseNeon { 0% { transform: translate(-50%, -50%) scale(1); } 50% { transform: translate(-50%, -50%) scale(1.1); } 100% { transform: translate(-50%, -50%) scale(1); } } @keyframes rotateGradient { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
최적화 전략:
-
응답 간격:
- 모바일에서는 입자가 적습니다
- 기기 기능에 맞게 조정
-
메모리 관리:
- 이전 간격 지우기
- 여러 인스턴스 방지
-
이벤트 처리:
- 창 크기 조정에 응답
- 실적 유지
결론
이 효과는 여러 겹의 정교함을 결합합니다.
- 반응형 크기 조정을 위한 동적 CSS 변수
- 현실적인 빛을 위한 복잡한 그라데이션 조합
- 깊이를 더하는 파티클 시스템
- 원활한 운영을 위한 성능 최적화
- 모든 기기에 반응하는 디자인
결과적으로 성능에 미치는 영향을 최소화하면서 모든 웹 프로젝트를 향상시킬 수 있는 매혹적인 네온 효과가 탄생했습니다.
위 내용은 HTML, CSS 및 JavaScript를 사용하여 부동 입자 네온 조명 효과 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

사이트에 아이콘을 추가하는 가장 좋아하는 방법 중 하나는 내 CSS의 의사 요소 (예 : :: After)에 데이터 URL 배경 이미지로 포함하는 것입니다. 이것

JS Party Podcast는 단지 재미있는 에피소드를 가졌으며, 두 그룹으로 나뉘어이 고전적인 질문에 대해 토론했습니다. 각 그룹에는 "측면"이 할당되었습니다

이번 주 저는 웹 성능과 접근성에 대해 우화했습니다. Ethan Marcotte가 접근성에 대해 많은 훌륭한 메모를했을 때 시작되었습니다.

Firefox Preview 및 기타 웹 브라우저에 곧 오는 Maskable Icons라는 새로운 웹 기능이 있습니다. 이 새로운 아이콘 형식은 PWA에 안드로이드에 고유 한 적응 아이콘을 갖도록합니다.

한동안 iTunes는 팟 캐스팅에서 큰 개 였으므로 "Podcast 구독"을 링크 한 경우 다음과 같습니다.

우리는 그들이 2013 년에 크롬에 갔을 때 오페라를 잃었습니다. 올해 초 크롬 (Chrome)에 갔을 때 Edge와 같은 거래를했습니다. Mike Taylor는 이러한 변화를 "감소 적으로"불렀습니다


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

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

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

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
