즐거운 할로윈 보내세요. 저는 최근에 으스스한 계절 분위기에 빠져들기 위해 100% CSS 호박을 만들었습니다. 일부 사람들은 그것이 어떻게 만들어졌는지 알고 싶어합니다.
펜 보기
micfun123(@micfun123)의 100% CSS 호박
CodePen에서
그럼 어떻게 작동하는지 설명하겠습니다. 코드만 보고 과정은 보고 싶지 않은 분들을 위해 CodePen을 소개합니다.
이런 걸 해본 적이 없어서 첫 번째 목표는 주황색 타원 3개였습니다.
그래서 HTML부터 시작했습니다.
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS Pumpkin</title> <link rel="stylesheet" href="pumpkin.css"> <div> <p>The HTML does not really change anything now but it also don't show anything yet. Time for the CSS.<br> </p> <pre class="brush:php;toolbar:false">body { display: flex; justify-content: center; align-items: center; height: 100vh; } .pumpkin { position: relative; display: flex; align-items: center; } .left{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; } .right{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; } .center{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; }
이렇게 하면 3개의 완벽한 주황색 타원이 나란히 출력됩니다. 여기서 무슨 일이 일어나고 있는 걸까요? 먼저 body 태그를 사용하여 호박 div를 페이지 중앙에 배치합니다. 처음 3줄로 이 작업을 수행합니다. 다음으로 height: 100vh;를 사용합니다. body 태그가 화면의 100%를 차지하고 있음을 코드에 알려줍니다. 이것이 없으면 body 태그는 내용만큼만 커질 것입니다. 즉, 타원이 페이지 상단 중앙에 위치하게 됩니다. 그래서 그 모습은 이렇습니다.
다음으로 원이 겹치기를 원합니다. 왼쪽 및 오른쪽 타원에 음수 여백을 지정하면 쉽게 이 작업을 수행할 수 있습니다.
.left{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; margin-right: -45px; } .right{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; margin-left: -45px; }
여기서는 오른쪽 Ovel을 왼쪽으로 45픽셀, 왼쪽 Ovel을 오른쪽으로 45픽셀 이동합니다. (아직 사진 저장 방법이 없어서 이 무대 사진은 추가하지 않겠습니다.)
이제 더 어려운 부분을 살펴보겠습니다. (일부 Google이 많이 사용되었습니다.)
.stem { position: absolute; top: -30px; left: 50%; transform: translateX(-50%); /* Center the stem horizontally with in the contanter */ width: 30px; height: 60px; background-color: brown; border-radius: 3px; z-index: -1; } .curve{ position: absolute; top: -47px; left: 43%; transform: translateX(-50%); /* Center the stem horizontally with in the contanter */ transform: rotate(-15deg); width: 30px; height: 30px; background-color: brown; border-radius: 3px; z-index: -1; }
그래서 width , height , border-radius 및 background-color 는 설명이 필요 없습니다. 그래서 건너뛰겠습니다. 위치로 시작: 절대; 이것이 하는 일은 웹사이트의 흐름에서 div를 제거하는 것입니다. 대신 가장 가까운 앵커 포인트를 기반으로 합니다. 위치: 절대; 모든 요소 위에 배치할 수 있습니다. 다음으로 Stem을 수평으로 중앙에 배치하기 위해 left: 50% 및 변환:translateX(-50%);를 사용합니다. 생각해 보면 이해가 되지만 왼쪽으로 시작하려면 생각해야 합니다. 50% 호박 div 내에서 줄기의 왼쪽 가장자리를 중앙에 놓습니다. 줄기의 중심이 호박의 중심에 오도록 하고 싶습니다. 변환: 번역X(-50%); 줄기를 줄기 크기의 절반만큼 왼쪽으로 다시 이동합니다. 상단: -47px; 당신이 기대하는 것과 거의 일치합니다. 위쪽 가장자리를 47px 위로 이동합니다. z-index는 제가 최근에 발견한 것으로, 기본적으로 요소의 높이입니다. z-index가 호박 뒤에 있기를 원하므로 호박의 기본 인덱스는 0인 반면 z-index는 -1로 지정합니다. 이것이 다음과 같습니다.
마지막으로 눈, 입, 배경입니다. 눈부터 시작해볼까요
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS Pumpkin</title> <link rel="stylesheet" href="pumpkin.css"> <div> <p>The HTML does not really change anything now but it also don't show anything yet. Time for the CSS.<br> </p> <pre class="brush:php;toolbar:false">body { display: flex; justify-content: center; align-items: center; height: 100vh; } .pumpkin { position: relative; display: flex; align-items: center; } .left{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; } .right{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; } .center{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; }
그래서 이것이 border-width: 0 50px 41px 30px보다 더 무섭게 보입니다. 여기서는 정사각형의 각 변의 길이를 설정합니다. 위에서부터 시작하여 시계방향으로 진행됩니다. 따라서 정사각형의 꼭대기 길이는 0입니다. 이는 삼각형이 3개의 변을 갖고 있기 때문입니다. 이 트릭을 사용하면 삼각형을 만드는 변 중 하나를 제거할 수 있습니다. 그런 다음 오른쪽 길이는 50px, 아래쪽 길이는 50px, 왼쪽 길이는 30px입니다. 오른쪽 눈의 경우 왼쪽 및 오른쪽 값을 뒤집어 다른 방향을 가리키도록 합니다. 테두리 색상: 투명 투명 #000000 투명; 그렇다면 왜 투명체가 그렇게 많은지 궁금할 것입니다. 여기에는 실제로 3개의 삼각형이 있습니다(그 중 하나는 너비가 0이기 때문에 존재하지 않습니다). 아래쪽 삼각형만 색칠하고 싶기 때문에 나머지 3개는 투명하게 설정했습니다. 테두리 스타일: 단색; 우리는 삼각형이 단색으로 채워지기를 원하므로 스타일을 Solid로 설정해야 합니다. 우리는 실제로 삼각형을 채우지 않았지만 테두리가 너무 커서 실제로 있는 것처럼 보입니다. 이 모든 과정을 거쳐 이제 우리는 눈을 갖게 되었습니다.
마지막 단계는 미소입니다.
.left{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; margin-right: -45px; } .right{ width: 110px; height: 160px; background: rgb(255, 117, 24); border-radius: 50%; margin-left: -45px; }
테두리-왼쪽 상단-반경: 110px; 테두리 오른쪽 상단 반경: 110px; 상단 모서리가 얼마나 둥글게 될지 정의합니다. 이것은 반원을 만드는 비트이지만 곡선이 맨 위에 놓이게 됩니다. 이 문제를 해결하기 위해 변환을 추가했습니다. 회전(190deg) 스마일로 회전하려면 left: 25%; 중심에서 약간 벗어나도록 합니다. 그럼 최종 결과는 이렇습니다.
펜 보기
micfun123(@micfun123)의 100% CSS 호박
CodePen에서
가장 아름다운 솔루션도 아니고 가장 효율적인 솔루션도 아니라는 점은 인정합니다. 하지만 CSS로 무언가를 그리는 것은 처음이었는데 오히려 만족스럽습니다. 언제나처럼 Discord나 Reddit에 피드백을 남겨주세요.
위 내용은 순수 CSS 호박을 만든 방법.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

라이브 토크 나 수업 중에 대화식 애니메이션을 표시해야한다면 슬라이드와 상호 작용하기가 항상 쉽지 않다는 것을 알 수 있습니다.

Astro를 사용하면 빌드 중에 대부분의 사이트를 생성 할 수 있지만 Fuse.js와 같은 것을 사용하여 검색 기능을 처리 할 수있는 작은 서버 측 코드가 있습니다. 이 데모에서는 퓨즈를 사용하여 개인 "북마크"세트를 검색합니다.

문서가 저장되는 동안 Google 문서에서 볼 수있는 것과 유사한 프로젝트 중 하나에서 알림 메시지를 구현하고 싶었습니다. 다시 말해, a

몇 달 전에 나는 해커 뉴스를 썼고 (하나와 마찬가지로) IF 문을 사용하지 않는 것에 대한 (현재 삭제 된) 기사를 가로 질러 달렸습니다. 이 아이디어를 처음 접한다면 (나처럼

공상 과학 소설의 초기부터 우리는 우리와 대화하는 기계에 대해 환상을 가지고 있습니다. 오늘은 평범합니다. 그럼에도 불구하고 제작 기술

Gutenberg가 핵심으로 풀려 났을 때를 기억합니다. 왜냐하면 나는 그날 WordCamp에 있었기 때문입니다. 지금은 몇 달이 지났으므로 점점 더 많은 것을 상상합니다.

대부분의 웹 애플리케이션의 배후에있는 아이디어는 데이터베이스에서 데이터를 가져 와서 최상의 방법으로 사용자에게 제시하는 것입니다. 우리가 거기에서 데이터를 다룰 때

#039;는 당신이 의미있는 것처럼 보일 수있는 상황에 대한 약간의 단계를 수행하자. 이것에서


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

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