SVG<path></path>
요소는 강력한 드로잉 기능을 제공하며 때로는 모양을 그리는 데 사용하려고합니다. 전체 기능에 대한 모피 만 알고 있지만 흥미로운 애니메이션 효과를 시도하는 것으로 충분합니다. 모든 선형 구문 명령 (예 : L
)은 매우 간단하고 이해하기 쉽고 곡선 명령 Q
도 매우 직관적입니다. 도면을 viewBox="0 0 100 100"
으로 제한하면 간단한 그래프를 그리는 것은 어렵지 않습니다.
다음은 CSS를 사용하여 모든 기본 명령 및 애니메이션을 사용하여 그래픽을 그리는 전형적인 예입니다 (Chromium Browser 만 해당).
이상하게 보이지만 진짜 :
<svg viewbox="0 0 10 10"><path d="M2,2 L8,8"></path></svg>
SVG : 호버 경로 { 전환 : 0.2S; D : 경로 ( "M8,2 L2,8"); }
최근에, 나는 주에 따라 아이콘이 다른 UI 요소가 필요합니다. 그것은 "로그"모양과 비슷하며, 기본 상태는 똑바로, 햄버거 메뉴 (4 줄, 텍스트 줄과 비슷 함), 그리고 다른 여러 상태와 비슷합니다.
- 기본값 (기본값)
- 활동 (활동)
- 성공 (성공)
- 오류
먼저, 나는 매우 복잡한 유한 상태 기계를 썼습니다.
const indicator = document.querySelector ( ". 요소"); CurrentState = indicator.dataset.state를하자; indicator.addeventListener ( "클릭", () => { NextState = ""; if (currentstate == "default") { NextState = "Active"; } else if (currentstate == "active") { NextState = "성공"; } else if (currentstate == "success") { NextState = "오류"; } 또 다른 { NextState = "기본값"; } indicator.dataset.state = Nextstate; CurrentState = NextState; });
데이터 속성을 사용하여 스타일을 설정하기위한 도어가 열립니다.
.요소 { & [data-state = "default"] { } & [data-state = "active"] { } & [data-state = "success"] { } & [data-state = "error"] { } }
따라서 내 요소가 4 줄의 기본 상태로 시작하면 다음과 같습니다.
<div data-state="DEFAULT"> <svg viewbox="0 0 100 100"><path d="M0, 20 Q50, 20 100, 20"></path><path d="M0, 40 Q50, 40 100, 40"></path><path d="M0, 60 Q50, 60 100, 60"></path><path d="M0, 80 Q50, 80 100, 80"></path></svg> </div>
... CSS의 다른 주로 경로를 변경할 수 있습니다. 예를 들어, CSS를 사용 하여이 4 개의 직선을 변경할 수 있습니다.
이 4 개의 "선"에는 편리하게 사용되지 않은 곡선 지점이 포함되어 있습니다. 숫자와 포인트 유형을 가진 경로 만 CSS의 애니메이션 일 수 있습니다. 곡선 포인트를 추가하면 더 많은 가능성이 열립니다.
이 네 가지 새로운 경로는 실제로 원과 비슷한 모양을 그립니다!
.Editor-Indicator { & [data-state = "active"] { .Icon { : nth-Child (1) { D : 경로 ( "M50, 0 Q95, 5 100,50"); } : nth-Child (2) { D : 경로 ( "M100, 50 Q95, 95 50,100"); } : nth-Child (3) { D : 경로 ( "M50,100 Q5, 95 0, 50"); } : nth-Child (4) { D : 경로 ( "M0, 50 Q5, 5 50, 0"); } } } }
다른 주에서는 거친 진드기 (성공을 나타냅니다)와 거친 느낌표 (실패를 나타냅니다)를 그립니다.
데모 (Chromium Browser 만 해당),이를 클릭하여 상태를 변경할 수 있습니다.
Firefox와 Safari는 CSS에서 d: path()
지원하지 않기 때문에 결국 사용하지 않았습니다. 그것은 애니메이션이 될 수 없으며 단순히 작동하지 않으므로 나에게 사용할 수 없습니다. 나는 다른 상태로 아이콘을 교체했습니다.
브라우저에서 모양 변형이 필요한 경우 이에 대한 전체 기사가 있습니다. (기사 링크는 여기에 삽입되어야하지만 링크를 제공 할 수 없으므로 설명 할 수 있습니다).
위 내용은 CSS의 SVG 경로 변화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

HTML의 일부에서 요소를 사용하여 CSS 파일을 HTML에 연결하면 달성 할 수 있습니다. 1) 태그를 사용하여 로컬 CSS 파일을 연결하십시오. 2) 여러 개의 태그를 추가하여 여러 CSS 파일을 구현할 수 있습니다. 3) 외부 CSS 파일은 다음과 같은 절대 URL 링크를 사용합니다. 4) 파일 경로 및 CSS 파일로드 순서의 올바른 사용을 확인하고 성능을 최적화하면 CSS Preprocessor를 사용하여 파일을 병합 할 수 있습니다.

Flexbox 또는 그리드 선택은 레이아웃 요구 사항에 따라 다릅니다. 1) Flexbox는 탐색 표시 줄과 같은 1 차원 레이아웃에 적합합니다. 2) 그리드는 매거진 레이아웃과 같은 2 차원 레이아웃에 적합합니다. 두 사람은 프로젝트에 사용하여 레이아웃 효과를 향상시킬 수 있습니다.

CSS 파일을 포함시키는 가장 좋은 방법은 태그를 사용하여 HTML 부분에 외부 CSS 파일을 소개하는 것입니다. 1. 태그를 사용하여 외부 CSS 파일을 소개합니다. 2. 작은 조정의 경우 인라인 CSS를 사용할 수 있지만주의해서 사용해야합니다. 3. 대규모 프로젝트는 SASS와 같은 CSS 전 처리기를 사용하여 @Import를 통해 다른 CSS 파일을 가져올 수 있습니다. 4. 성능의 경우 CSS 파일을 병합하고 CDN을 사용해야하고 CSSNANO와 같은 도구를 사용하여 압축해야합니다.

예, YoushouldLearnbothflexBoxAndgrid.1) FlexBoxisIdealforone-Dimensional, FlexiblelayoutSlikenavigationMenus.2) GridexCelsIntwo-Dimensional, ComplexDesignsSuchasmagazinElayouts.3) 결합 된 BothenSlayoutFlexibility 및 HeartingFortructur

자신의 코드를 리팩터링하는 것은 어떤 모습입니까? John Rhea는 자신이 쓴 오래된 CSS 애니메이션을 선택하고 최적화하는 사고 과정을 살펴 봅니다.

cssanimationsarenherinly에 hardbutreepracticenderstandingofcsspropertiesandtimingflestions.1) startsimpleants withsimpleatslikeScalingabuttononHoverusingKeyframes.2) useAsingfuctionslikecubic-bezierfornateffects, 그러한 분위기, 3)

@keyframesispopularduetoitstativerstatility 및 powerincreatingsmoothcssanimations.keytricksinclude : 1) states 사이에 moothtransitionsbettites, 2) 애니메이션 multiplepropertiessimultory, 3) vendorPixesforBrowsercompatibility, 4) 빗질을 사용하여

csScounterSearedTomanageAutomaticNumberingInberingInwebDesigns.1) 1) theCanbeusedfortablestoffContents, ListItems 및 CustomNumbering.2) AdvancedUsesInSinestedNumberingsystems.3) CreativeUseNvolvecust를 CreativeSinvolecust.4) CreativeSinvolvecust


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

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

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

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