Nintendo Switch를 주문하셨습니까?
18398 단어 SassHTML5HTMLJavaScriptCSS3
오늘 이맘때 문득 Nintendo Switch를 갖고 싶다는 생각이 들었어요.
HTML, CSS에는'Nintendo Switch 로고를 만들 수 있지 않나요?'잠깐만요.
따라서 자바스크립트로 액션을 넣으면서 HTML과 CSS로 Nintendo Switch 로고를 만든다.
완성품
최종 품목은 다음과 같습니다.(점프가 틀려서 마음에 드십시오)
글씨체가 특별히 일치하지 않습니다.
소스 코드
HTML은 다음과 같습니다.
전제 조건
destyle.css로 사용합니다.anime.js 프로그램 라이브러리.<div id="left-logo"></div>입니다.오른쪽 컨트롤러는
<div id="right-logo"></div>입니다.HTML은 매우 간단한 구조이다.
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../../images/favicon.png">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/destyle.css">
<link rel="stylesheet" href="css/style.css" type="text/css">
<title>Nintendo Switch</title>
</head>
<body>
<main id="main" class="wrapper">
<div id="logo-container">
<div id="left-logo"></div>
<div id="right-logo"></div>
</div>
<div id="name-container">
<p id="nintendo">NINTENDO</p>
<p id="switch">SWITCH<span>TM</span></p>
</div>
</main>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha512-z4OUqw38qNLpn1libAN9BsoDx6nbNFio5lA6CuTp9NlK83b89hgyCVq+N5FdBJptINztxn1Z3SaKSKUS5UP60Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="js/script.js"></script>
</body>
</html>
SCSS는 다음과 같습니다.각 컨트롤러는
display: flex에서 가로로 배열justify-content: center;.컨트롤러 자체의 스타일도
border-radius과border 정도의 장난은 상당히 간단하다.각 컨트롤러의'원'은 위조원소
after를 사용하고 position: absolute;에 위치를 고정시켰다.나머지는 엔으로 border-radius하는 것이다.특별히 어려운 건 없죠?style.scss
@charset "utf-8";
$base-color: #E7000B;
$main-color: #fff;
html {
font-size: 100%;
}
body {
background-color: $base-color;
color: $main-color;
}
.wrapper {
max-width: 800px;
margin: 0 auto;
padding: 0 4%;
}
#main {
display: flex;
flex-direction: column;
margin-top: 240px;
#logo-container {
display: flex;
justify-content: center;
#left-logo {
position: relative;
width: 132px;
height: 270px;
margin-right: 14px;
border-radius: 70px 0 0 70px;
border: 22px solid $main-color;
&:after {
position: absolute;
top: 36px;
left: 22px;
width: 50px;
height: 50px;
border-radius: 50%;
background-color: $main-color;
content: "";
}
}
#right-logo {
position: relative;
width: 112px;
height: 270px;
margin-left: 14px;
border-radius: 0 70px 70px 0;
background-color: $main-color;
&:after {
position: absolute;
top: 122px;
left: 28px;
width: 50px;
height: 50px;
border-radius: 50%;
background-color: $base-color;
content: "";
}
}
}
#name-container {
margin-top: 40px;
text-align: center;
#nintendo {
font-size: 2.6rem;
font-weight: bold;
letter-spacing: 22px;
}
#switch {
font-size: 4.8rem;
font-weight: bold;
letter-spacing: 10px;
span {
font-size: 0.8rem;
font-weight: normal;
letter-spacing: 0;
}
}
}
}
로고 자체는 정말 간단한 요소와 스타일로만 만들어졌어요!JavaScript는 다음과 같습니다.
anime()anime입니다.js 라이브러리에서 준비한 물건입니다. 간단하게 애니메이션보다 가벼운 라이브러리를 만들 수 있습니다.moveRightLogo()는 오른쪽 컨트롤러 애니메이션의 함수이고 moveLeftLogo()는 왼쪽 컨트롤러 애니메이션의 함수를 정의했다.targets 애니메이션할 선택기를 지정합니다.translateY 수직 애니메이션을 배열로 정의할 수 있습니다.value는 애니메이션의 이동 거리입니다.duration는 애니메이션의 길이(ms)입니다.delay는 애니메이션의 시작 지연 시간(ms)입니다.easing 시간의 흐름에 따라 파라미터의 변화율을 지정한다.script.js
$(function () {
moveRightLogo();
moveLeftLogo();
});
function moveLeftLogo() {
anime({
targets: '#left-logo',
translateY: [
{ value: 32, duration: 40, delay: 460, easing: "easeInQuint" },
{ value: 0, easing: 'easeOutCubic' }
]
});
}
function moveRightLogo() {
// ロゴのボーダーを含む高さを取得する
const height = $('#right-logo').outerHeight();
anime({
targets: '#right-logo',
translateY: [
// 初期は(高さ/2)から下に落ちるようなアニメーション。
// バウンドした後は高さ0に戻す。
{ value: -(height / 2), duration: 0, easing: 'linear' },
{ value: 32, duration: 500, easing: 'easeInQuint' },
{ value: 0, easing: 'easeOutSine' }
]
});
}
참고 문헌총결산
이 글에서는 자바스크립트에 동작을 추가하면서 HTML과 CSS에서 Nintendo Switch의 로고를 만드는 방법을 소개한다.의외로 간단해요.
나는 또 다른 로고를 만들고 싶다.스케줄러:부탁이 있으면부탁해!
Reference
이 문제에 관하여(Nintendo Switch를 주문하셨습니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nowvilla_physi/items/dcb458f6fea86b81a00e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)