>  기사  >  웹 프론트엔드  >  비디오 데모: CSS를 사용하여 사실적인 토성을 만드는 방법은 무엇입니까? (코드 포함)

비디오 데모: CSS를 사용하여 사실적인 토성을 만드는 방법은 무엇입니까? (코드 포함)

php是最好的语言
php是最好的语言원래의
2018-07-30 14:22:051895검색

비디오 데모: CSS를 사용하여 사실적인 토성을 만드는 방법은 무엇입니까? (코드 포함)

효과 미리보기

현재 페이지에서 미리 보려면 오른쪽의 "미리 보기 클릭" 버튼을 누르고, 링크를 클릭하면 해당 페이지에서 미리 볼 수 있습니다. 전체 화면.

https://codepen.io/comehope/pen/EpbaQX

Interactive video

이 동영상은 대화형이므로 언제든지 할 수 있습니다. 시간 비디오의 코드를 편집하려면 비디오를 일시 중지하십시오.

크롬, 사파리, 엣지를 이용해서 열어서 시청해주세요.

https://scrimba.com/p/pEgDAM/cBdyeTw

Code 해석

돔 정의, 컨테이너 자체는 토성을 나타냅니다. 여기서 ring 요소는 토성의 고리를 나타냅니다.

<p class="saturn">
        <span class="rings"></span>
    </p>

중앙 디스플레이:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
}

컨테이너 크기 정의:

.saturn {
    width: 20em;
    height: 20em;
    font-size: 20px;
}

행성을 그립니다. 토성(초안, 나중에 다듬을 예정):

.saturn {
    position: relative;
}

.saturn::before,
.saturn::after {
    content: &#39;&#39;;
    position: absolute;
    width: 9em;
    height: 9em;
    background: linear-gradient(
        palegoldenrod 0%,
        tan 10%,
        burlywood 30%,
        palegoldenrod 60%,
        darkgray 100%
    );
    border-radius: 50%;
    left: calc((20em - 9em) / 2);
    top: calc((20em - 9em) / 2);
}

토성의 고리 그리기(초안, 나중에 다듬을 예정):

.rings {
    position: absolute;
    width: inherit;
    height: inherit;
    background: radial-gradient(
        transparent 35%,
        dimgray 40%,
        slategray 50%,
        transparent 60%,
        dimgray 60%,
        slategray 70%,
        transparent 70%
    );
}

관점 변경 토성의 고리 관찰:

.rings {
    transform: rotateX(75deg);
}

토성이 고리로 둘러싸인 것처럼 보이도록 하려면 토성을 위쪽과 아래쪽으로 나누어 토성의 고리와 토성의 고리의 층 순서가 아래에서 위로 오도록 하세요. 는: 행성의 하반부, 토성 고리 및 행성의 상부:

.saturn::before {
    clip-path: inset(50% 0 0 0);
}

.saturn::after {
    clip-path: inset(0 0 50% 0);
}

이 시점에서 토성의 전체적인 구조가 그려지고 세부 사항이 다듬어집니다.
풍부한 그라데이션 색상으로 토성의 고리를 칠합니다:

.rings {
    background: radial-gradient(
        rgba(24,19,25,0) 0%,
        rgba(53,52,51,0) 34%,
        rgba(55,54,52,1) 36%,
        rgba(56,55,53,1) 37%,
        rgba(68,67,66,1) 38%,
        rgba(56,55,53,1) 39%,
        rgba(68,67,66,1) 40%,
        rgba(56,55,53,1) 41%,
        rgba(87,77,76,1) 42%,
        rgba(87,77,76,1) 44%,
        rgba(113,110,103,1) 46%,
        rgba(113,110,103,1) 48%,
        rgba(113,98,93,1) 49%,
        rgba(113,98,93,1) 51%,
        rgba(122,115,105,1) 52%,
        rgba(113,98,93,1) 53%,
        rgba(113,98,93,1) 54%,
        rgba(122,115,105,1) 55%,
        rgba(106,99,89,1) 56%,
        rgba(106,99,89,1) 58%,
        rgba(79,76,76,0) 60%,
        rgba(65,64,70,1) 61%,
        rgba(65,64,70,1) 62%,
        rgba(90,85,89,1) 63%,
        rgba(78,74,73,1) 65%,
        rgba(78,73,74,1) 67%,
        rgba(78,73,74,0) 68%,
        rgba(78,73,75,1) 69%,
        rgba(78,73,75,1) 70%,
        rgba(78,73,76,0) 71%,
        rgba(77,72,76,0) 72%,
        rgba(24,19,25,0) 100%
    );
}

풍부한 그라데이션 색상으로 행성을 칠합니다:

.saturn::before,
.saturn::after {
    background:
        linear-gradient(
            rgba(212,203,174,1) 0%,
            rgba(212,203,174,1) 10%,
            rgba(221,203,157,1) 15%,
            rgba(221,203,157,1) 17%,
            rgba(213,181,143,1) 22%,
            rgba(213,181,143,1) 26%,
            rgba(208,180,158,1) 32%,
            rgba(208,180,158,1) 36%,
            rgba(218,188,162,1) 37%,
            rgba(218,188,162,1) 39%,
            rgba(211,184,157,1) 41%,
            rgba(211,184,157,1) 49%,
            rgba(205,186,156,1) 51%,
            rgba(205,186,156,1) 52%,
            rgba(202,176,153,1) 53%,
            rgba(202,176,153,1) 65%,
            rgba(190,177,145,1) 68%,
            rgba(190,177,145,1) 80%,
            rgba(150,144,130,1) 91%,
            rgba(150,144,130,1) 95%,
            rgba(131,129,117,1) 97%,
            rgba(131,129,117,1) 100%
        );
}

그런 다음 행성에 조명 효과를 추가합니다: #🎜 🎜#

.saturn::before,
.saturn::after {
    background:
        radial-gradient(
            circle at top, 
            transparent 40%,
            black
        ),
        radial-gradient(
            transparent 62%,
            black
        ),
        linear-gradient(
            rgba(212,203,174,1) 0%,
            rgba(212,203,174,1) 10%,
            rgba(221,203,157,1) 15%,
            rgba(221,203,157,1) 17%,
            rgba(213,181,143,1) 22%,
            rgba(213,181,143,1) 26%,
            rgba(208,180,158,1) 32%,
            rgba(208,180,158,1) 36%,
            rgba(218,188,162,1) 37%,
            rgba(218,188,162,1) 39%,
            rgba(211,184,157,1) 41%,
            rgba(211,184,157,1) 49%,
            rgba(205,186,156,1) 51%,
            rgba(205,186,156,1) 52%,
            rgba(202,176,153,1) 53%,
            rgba(202,176,153,1) 65%,
            rgba(190,177,145,1) 68%,
            rgba(190,177,145,1) 80%,
            rgba(150,144,130,1) 91%,
            rgba(150,144,130,1) 95%,
            rgba(131,129,117,1) 97%,
            rgba(131,129,117,1) 100%
        );
}

마지막으로 화면을 조금 회전해 보세요.

.saturn {
    transform: rotate(-15deg);
}

끝났습니다!

관련 기사:

CSS Secret Garden: 사실적인 텍스트 효과

Made with CSS Star Rating_Experience Exchange

관련 동영상:

CSS 네비게이션 바 제작 튜토리얼

위 내용은 비디오 데모: CSS를 사용하여 사실적인 토성을 만드는 방법은 무엇입니까? (코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.