透 CSS可能是一個相當大的挑戰。但沒有啥捷徑,只能多練多寫。不過還是有一些有趣的方法來學習的,就是通過游戲。本文將重點介紹十種你可以邊玩邊學習CSS的神奇游戲。
地址:https://flexboxfroggy.com/
《Flexbox froggy》這是一個非常有趣游戲,主要用來學習flex布局。它有 24 個級別,難度逐漸加深。我們可以使用flex 相關的屬性將青蛙放到正確的位置,即可過關。
地址:http://www.flexboxdefense.com/
《Flexbox defense》也是一個學習 flex布局的游戲,在這個游戲中,我們必須通過 flex 布局,將炮臺移到正確的位置,以保衛一條道路不被攻擊。它有 12 個級別,難度逐漸加深,考查 flex 的程序也越深。
地址:https://knightsoftheflexboxtable.com/
也是一個學習 flex布局的游戲,不過它是采用 TailwindCSS 風格,如果你喜歡用 TailwindCSS,那么這個游戲適合你,它有 18 個級別,難度逐漸加深,考查 flex 的程序也越深。
地址:https://codingfantasy.com/games/flexboxadventure/play
《 Flex Box adventure》也是一個學習 flex布局的游戲。它有 24關,除了風格不同外,還有一個比較人性化的體驗,就是有提示,如果我們想不出答案,可通過提示,找到我們想要的正確答案。
地址:https://mastery.games/flexboxzombies/
《 Flexbox zombies》也是一個學習 flex布局的游戲。這款游戲的畫面設置得超級好!我被這個故事情節的酷炫程度給震驚了。
地址:https://cssgridgarden.com/
《Grid garden》是學習CSS網格的一種超級有趣的方式。我們必須使用網格布局來確保所有的胡蘿卜得到水才能過關。它有28個關卡,可以練習大量的CSS網格選項!
地址:https://codingfantasy.com/games/css-grid-attack/play
這款游戲是由《 Flexbox adventure 》的同一個作者開發的,游戲體驗也非常的好。
在游戲中,我們必須使用CSS網格來改變土地,使惡魔無法生存。它有80個關卡,讓我們可以選擇超級有趣的方式學習CSS網格。
地址:https://flukeout.github.io/
CSS Diner 是一個學習CSS選擇器的游戲。通過題目,我們需要寫出具體的css 選擇器來選擇餐桌上指定的物品才算過關。當我們選中物品時,會出現有趣的動畫特效,來增加我們的游戲體驗。
地址:https://www.guess-css.app/
這個游戲與CSS Diner非常相似,給出一個畫面,然后提供3上選項,我們根據已有的知識在腦海里構造我們的答案,然后從3個選項,選擇一個我們認為的正確答案即可過關。
地址:https://css-speedrun.netlify.app/
在這個游戲中,我們要根據箭頭的標志,然后寫出對應的CSS選擇器,這里有題目的計時,我們必須盡可能快速完成它,對那些喜歡在游戲中增加難度的開發者來說是一個很大的挑戰。。
這個游戲有十個級別,你的以多玩幾次,以提你解題速度。我在第三題就卡住了,大家道怎么解嗎。
參考:https://dev.to/dailydevtips1/10-amazing-games-to-learn-css-382i
考慮文章篇幅的原因,大部分的小游戲、動畫我都只放了HTML部分的代碼,具體的CSS、JS代碼我都打包放在了一起,具體參考文章末尾。
這兩個年輕的小鹿相愛。你可以幫助他們在一起嗎?
使用Matter.js物理特性和自定義psuedo-rigging進行構建。已更新為固定大小,以防止某些屏幕尺寸出現對齊問題。
主要HTML代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | 小鹿親嘴</title>
<link rel="stylesheet" href="css/style.css">
<link rel="icon" type="image/x-icon" href="https://wanghao221.github.io/favicon.ico">
</head>
<body>
<script>console.clear()</script>
<div class="controls">
<div class="green">
Move the <b>green alpaca</b>
<div class="keys"><kbd data-key="1">1</kbd> & <kbd data-key="2">2</kbd></div>
<small>or mouse/touch</small>
</div>
<div class="mission">Help them <span class="throb">kiss</span>!</div>
<div class="pink">
Move the <b>pink alpaca</b> with
<div class="keys"><kbd data-key="arrowleft">??</kbd> & <kbd data-key="arrowright">?</kbd></div>
<small>or mouse/touch</small>
</div>
</div>
</body>
<script src="https://codepen.io/shshaw/pen/epmrgO"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/matter-js/0.10.0/matter.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.0/TweenMax.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/cash/1.3.4/cash.min.js"></script>
<script src="js/script.js"></script>
</html>
還有CSS和JS代碼,列出來的話文章太長了,本文中所有的完整代碼都可通過文章末尾的方式獲取(CSDN積分下載或者關注公眾號啦啦啦好想biu點什么回復情人節表白免費獲取)
“想變成小貓
每天撓撓你褲腳
這樣你還會把我抱一抱”
當然這里的漢字你可以自由發揮,想不出來好點子也可以參考參考別人寫的三行情詩或者網上搜一搜一些用來表白的情話。
HTML代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | 變成小貓</title>
<link rel="stylesheet" href="css/style.css">
<link rel="icon" type="image/x-icon" href="https://wanghao221.github.io/favicon.ico">
</head>
<body>
<section class="container">
<h1 class="title">
<div>
<span>想</span>
<span>變</span>
<span>成</span>
<span>小</span>
<span>貓</span>
</div>
<div>
<span>每</span>
<span>天</span>
<span>撓</span>
<span>撓</span>
<span>你</span>
<span>褲</span>
<span>腳</span>
</div>
<div>
<span>這</span>
<span>樣</span>
<span>你</span>
<span>還</span>
<span>會</span>
<span>把</span>
<span class='m-left'>我</span>
<span>抱</span>
<span>一</span>
<span>抱</span>
</div>
</h1>
<button class="btn" id="restart-btn">Restart</button>
</section>
<footer>Created by <a href=https://blog.csdn.net/qq_44273429" target='blank'>海擁?</a> @2021.
</footer>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.0/gsap.min.js"></script>
<script src="js/script.js"></script>
</html>
給你所愛之人一個特殊的消息,敞開愛心。CSS3動畫使其震撼,并在單擊消息后顯示。
主要HTML代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | 做我女朋友吧</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<!-- 情人節快樂! -->
<div class="bgoverlay">
<div class="container">
<span class="ico">
<span class="ico2"></span>
<span class="title">Click Me</span>
</span>
<div class="endtext">
<span class="close" title="Restart"><i class="fa fa-times"></i></span>
<h1>I love you baby</h1>
<h2>Be my valentine?</h2>
<h3>~Skippy</h3>
</div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</body>
<script src="js/script.js"></script>
</html>
演示地址(第一次打不開的話刷新一下試試):
https://wanghao221.github.io/game/Love-Overflow
主要HTML代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | Love Overflow</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div id="root"></div>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/sass.js/0.11.1/sass.min.js"></script>
<script src="https://unpkg.co/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.1/umd/react-dom.production.min.js"></script>
<script src="js/script.js"></script>
</html>
“思念如馬
自別離
未停蹄”
HTML代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | 思念如馬</title>
<link rel="stylesheet" href="css/style.css">
<link rel="icon" type="image/x-icon" href="https://wanghao221.github.io/favicon.ico">
</head>
<body>
<div class='console-container'><span id='text'></span>
<div class='console-underscore' id='console'>_</div>
</div>
</body>
<script src="js/script.js"></script>
</html>
主要HTML代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | 霓虹燈愛心</title>
<link rel="stylesheet" href="css/style.css">
<link rel="icon" type="image/x-icon" href="https://wanghao221.github.io/favicon.ico">
</head>
<body>
<canvas id="canvas" width="1400" height="600"></canvas>
</body>
<script src="js/script.js"></script>
</html>
這個相冊我之前發過,感覺情人節用來表白還是不錯的。當然這里的相冊可以換成自己的女朋友(沒有的話我也沒辦法)音樂也可以換成自己喜歡的。
基于HTML的3D立方體相冊
HTML代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=div, initial-scale=1.0">
<title>love</title>
<link rel="stylesheet" href="./css/program.css">
</head>
<body>
<div class="title">
旋轉相冊
</div>
<audio controls="controls" autoplay="autoplay"><source src="./video/love.mp3" type="audio/mpeg"/>
Your browser does not support the audio element.
</audio>
<div class="cube">
<!-- 外層立方體 -->
<div class="outer-cube">
<div class="outer-top">
<img src="images/1.jpg"/>
</div>
<div class="outer-bottom">
<img src="images/2.jpg"/>
</div>
<div class="outer-front">
<img src="images/3.jpg"/>
</div>
<div class="outer-back">
<img src="images/4.jpg"/>
</div>
<div class="outer-left">
<img src="images/5.jpg"/>
</div>
<div class="outer-right">
<img src="images/6.jpg"/>
</div>
</div>
<!-- 內層立方體 -->
<div class="inner-cube">
<div class="inner-top">
<img src="images/01.jpg"/>
</div>
<div class="inner-bottom">
<img src="images/02.jpg"/>
</div>
<div class="inner-front">
<img src="images/03.jpg"/>
</div>
<div class="inner-back">
<img src="images/04.jpg"/>
</div>
<div class="inner-left">
<img src="images/05.jpg"/>
</div>
<div class="inner-right">
<img src="images/06.jpg"/>
</div>
</div>
</div>
<div>
<div class="message">
<div class="author">
<a href="https://blog.csdn.net/qq_44273429">海擁制作</a>
</div>
<div class="tip">
溫馨提示:鼠標移入移出立方體,將會顯示效果!
</div>
</div>
</div>
</body>
</html>
這里我用了61個國家的語言翻譯的“愛”組成了一個愛心,特別把我們中國的愛弄得又大又紅。
HTML非常簡單:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | love</title>
<link rel="stylesheet" href="css/style.css">
<link rel="icon" type="image/x-icon" href="https://wanghao221.github.io/favicon.ico">
</head>
<body>
<div class="love"></div>
</body>
<script src="js/script.js"></script>
</html>
JS:
const words=[
'愛', 'Love', 'Amour', 'Liebe', 'Amore',
'Amor', 'Любовь', '????', '?????', 'Cinta',
'Αγ?πη', '??', 'Liefde', 'Dashuri', 'Каханне',
'Ljubav', 'Láska', 'Armastus', 'Mahal', '????',
'Szerelem', 'Grá', 'Mīlestība', 'Meil?', 'Любов',
'?убовта', 'Cinta', '???', 'Dragoste', 'Láska',
'Renmen', '???', 'muna?a', 'Sevgi', '?убав',
'karout', 'amà', 'am?r', 'k?rleiki', 'mborayhu',
'Upendo', 'sòòyayyàà', 'ljubav', '???', 'с?ю',
'с?й??', 'tia', 'aroha', 'KHAIR', '?????',
'kj?rlighet', 'munay', 'jecel', 'K?rlek', 'soymek',
'Mahal', 'ярату', '????', 'sopp', 'uthando',
'???????', 'A?k', 'Tình yêu', '????'];
const dom={
love: document.querySelector('.love')
}
dom.love.style.setProperty('--particles', words.length)
words.forEach((word, i)=> {
let span=document.createElement('span')
span.style.setProperty('--n', i + 1)
span.innerText=word
dom.love.appendChild(span)
})
愿意做我女朋友嗎
HTML代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | 愿意做我女朋友嗎</title>
<link rel="stylesheet" href="css/style.css">
<link rel="icon" type="image/x-icon" href="https://wanghao221.github.io/favicon.ico">
</head>
<body>
<div class="centered">
<h4>Will you be My Girlfriend?</h4>
<input class="no" id="No" type="checkbox" name="answer"/>
<label class="no" for="No">No</label>
<input class="yes" id="Yes" type="checkbox" name="answer"/>
<label class="yes" for="Yes">Yes</label>
<div class="answer--yes"></div>
<div class="answer--no"></div>
</div>
<div class="signature">
<p>Made with <i class="much-heart"></i> by <a href="https://blog.csdn.net/qq_44273429/">海擁CSDN博客</a></p>
</div>
</body>
</html>
HTML代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | 我被你所深深吸引</title>
<link rel="stylesheet" href="css/style.css">
<link rel="icon" type="image/x-icon" href="https://wanghao221.github.io/favicon.ico">
</head>
<body>
<div class="container" id="ilu">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewbox="-55 80 400 400" style="enable-background:new 0 0 288 560;" xml:space="preserve">
<g id="heart">
<path class="st1" d="M131.8,310.1v-53.6c0,0-8-10.8-20.5-11s-24,10.2-24.5,26.7s13.3,36.3,45,53v-5.4 C131.8,316.6,131.8,313.3,131.8,310.1z"></path>
<path class="st2" d="M131.8,325.2c0,0,45.2-21.7,45.2-53c0,0,0.8-25.4-22.6-26.7c0,0-13.3-1.2-22.6,11"></path>
</g>
<g id="magnesium">
<path class="st5" d="M229,241h-16.2v24c5.4,0,10.8,0,16.2,0V241z"></path>
<path class="st6" d="M281,241h-16.3v24c5.4,0,10.9,0,16.3,0V241z"></path>
<path class="st7" d="M229,298.3V265c-5.4,0-10.8,0-16.2,0v36c0,0,2.5,24,33.2,23.7c0-5.2,0-10.3,0-15.5 C229.2,309.5,229,298.3,229,298.3z"></path>
<path class="st8" d="M264.7,265v33.7c0,0-1.8,10.2-18.7,10.5c0,5.2,0,10.3,0,15.5c0.3,0,0.6,0,0.9,0c31.6-0.8,34.1-23.3,34.1-23.3 V265C275.6,265,270.1,265,264.7,265z"></path>
</g>
<g id="clip">
<path class="st10" d="M31.3,297.7v-37.2c0,0-0.3-0.8-1.3-0.8c-0.9,0-1.2,0.8-1.2,0.8l0.2,37.8c0,0,0.7,6.6,8.1,6.7 c0-0.7,0-1.5,0-2.2C31.3,302.3,31.3,297.7,31.3,297.7z"></path>
<path class="st11" d="M47.1,249.9c0,0-0.6-7.6-10.1-8.1c0,0.7,0,1.4,0,2.1c5.9,0.4,7.7,5.7,7.7,5.7s-0.1,44.8-0.2,47.9 c0,0,0.5,5.5-7.1,5.3c-0.1,0-0.3,0-0.4,0c0,0.7,0,1.5,0,2.2c0.1,0,0.1,0,0.2,0c9.9,0.2,9.7-7,9.7-7L47.1,249.9z"></path>
<path class="st10" d="M36.7,241.8c-10.5-0.3-11.5,8.1-11.5,8.1l0.2,64.8c0,0,1.1,9.9,11.6,10.1c0-0.8,0-1.6,0-2.4 c-8.3-0.1-9.1-8.1-9.1-8.1s-0.1-62.9-0.2-64.4c-0.2-1.5,2.8-5.8,8.6-5.9c0.3,0,0.5,0,0.8,0c0-0.7,0-1.5,0-2.1 C36.9,241.9,36.8,241.8,36.7,241.8z"></path>
<path class="st11" d="M50.5,260.4c0,0-0.4-0.8-1.2-0.8c-0.9,0-1.3,0.8-1.3,0.8l0,53.7c0,0,0.2,8.4-10.8,8.3c0,0-0.1,0-0.1,0 c0,0.8,0,1.6,0,2.4c0.1,0,0.2,0,0.3,0c12.7,0,13.1-10,13.1-10C50.3,315.1,50.5,260.4,50.5,260.4z"></path>
</g>
</svg>
</div>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/latest/TweenMax.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.17.0/easing/EasePack.min.js"></script>
<script src="js/script.js"></script>
</html>
HTML代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wanghao | 想對你說的話都在抽屜里</title>
<link rel="stylesheet" href="css/style.css">
<link rel="icon" type="image/x-icon" href="https://wanghao221.github.io/favicon.ico">
</head>
<body>
<div class="chest">
<div class="chest__panel chest__panel--back"></div>
<div class="chest__panel chest__panel--front">
<div class="chest__panel chest__panel--front-frame"></div>
</div>
<div class="chest__panel chest__panel--top"></div>
<div class="chest__panel chest__panel--bottom"></div>
<div class="chest__panel chest__panel--left"></div>
<div class="chest__panel chest__panel--right"></div>
<div class="chest-drawer chest-drawer--top">
<details>
<summary></summary>
</details>
<div class="chest-drawer__structure">
<div class="chest-drawer__panel chest-drawer__panel--left"></div>
<div class="chest-drawer__panel chest-drawer__panel--right"></div>
<div class="chest-drawer__panel chest-drawer__panel--bottom"></div>
<div class="chest-drawer__panel chest-drawer__panel--back">You</div>
</div>
</div>
<div class="chest-drawer chest-drawer--middle">
<details>
<summary></summary>
</details>
<div class="chest-drawer__structure">
<div class="chest-drawer__panel chest-drawer__panel--left"></div>
<div class="chest-drawer__panel chest-drawer__panel--right"></div>
<div class="chest-drawer__panel chest-drawer__panel--bottom"></div>
<div class="chest-drawer__panel chest-drawer__panel--back">Are</div>
</div>
</div>
<div class="chest-drawer chest-drawer--bottom">
<details>
<summary></summary>
</details>
<div class="chest-drawer__structure">
<div class="chest-drawer__panel chest-drawer__panel--left"></div>
<div class="chest-drawer__panel chest-drawer__panel--right"></div>
<div class="chest-drawer__panel chest-drawer__panel--bottom"></div>
<div class="chest-drawer__panel chest-drawer__panel--back">Mine</div>
</div>
</div>
</div>
</body>
</html>
以上所有代碼演示地址放在這里(打不開可以刷新一下)
Wanghao | Love
#34;夏哉ke":quangneng.com/5065/
HTML5的介紹和案例實戰
HTML5 是 HTML 的第五個主要版本,是用于構建和呈現網頁內容的最新標準。它引入了許多新特性和改進,使得開發者能夠創建更豐富、更交互性的網頁應用。HTML5 的一些主要特性包括:
案例實戰可以是:
這些案例實戰可以幫助開發者熟悉 HTML5 的各種特性和用法,并在實際項目中應用它們來構建豐富、交互性強的網頁應用。
CSS3的介紹和案例實戰
CSS3 是 CSS 的第三個主要版本,是用于樣式化網頁內容的最新標準。它引入了許多新特性和改進,使得開發者能夠創建更漂亮、更交互性的網頁設計。CSS3 的一些主要特性包括:
案例實戰可以是:
這些案例實戰可以幫助開發者熟悉 CSS3 的各種特性和用法,并在實際項目中應用它們來實現各種炫酷的網頁設計效果。
JavaScript的介紹和案例實戰:
JavaScript 是一種高級的、動態的、解釋性的編程語言,主要用于為網頁添加交互性和動態功能。它是 Web 開發中最常用的腳本語言之一,可以直接嵌入到 HTML 中,也可以作為外部文件引入到 HTML 頁面中。
JavaScript 的特點包括:
案例實戰可以是:
這些案例實戰可以幫助開發者熟悉 JavaScript 的語法和常用操作,理解 JavaScript 在網頁開發中的應用場景,從而更好地運用 JavaScript 來實現各種動態和交互式的功能。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。