国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home Web Front-end CSS Tutorial How to use pure CSS to achieve a moving white rabbit animation effect

How to use pure CSS to achieve a moving white rabbit animation effect

Aug 14, 2018 am 10:13 AM
border-radius box-shadow css html5 front end

The content of this article is about how to use pure CSS to realize the animation effect of a moving white rabbit. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Effect preview

How to use pure CSS to achieve a moving white rabbit animation effect

Code interpretation

Define dom, the page contains 2 elements, representing rabbits and clouds respectively:

<div></div>
<div></div>

Centered display:

body?{
????margin:?0;
????height:?100vh;
????display:?flex;
????align-items:?center;
????justify-content:?center;
????background:?linear-gradient(midnightblue,?black);
????font-size:?30px;
}

Draw the rabbit’s body:

.rabbit?{
????width:?5em;
????height:?3em;
????color:?whitesmoke;
????background:?currentColor;
????border-radius:?70%?90%?60%?50%;
}

Use radial gradient to draw the rabbit’s eyes:

.rabbit?{
????background:?
????????radial-gradient(
????????????circle?at?4.2em?1.4em,
????????????#333?0.15em,
????????????transparent?0.15em
????????),?/*?eye?*/
????????currentColor;
}

Use pseudo elements to draw the rabbit’s right ear:

.rabbit::before?{
????content:?'';
????position:?absolute;
????width:?0.75em;
????height:?2em;
????background-color:?currentColor;
????border-radius:?50%?100%?0?0;
????transform:?rotate(-30deg);
????top:?-1em;
????right:?1em;
}

Use shadow to draw the rabbit’s left ear:

.rabbit::before?{
????border:?0.1em?solid;
????border-color:?gainsboro?transparent?transparent?gainsboro;
????box-shadow:?-0.5em?0?0?-0.1em;
}

Use pseudo elements to draw the rabbit’s tail:

.rabbit::after?{
????content:?'';
????position:?absolute;
????width:?1em;
????height:?1em;
????background-color:?currentColor;
????border-radius:?50%;
????left:?-0.3em;
????top:?0.5em;
}

Draw the rabbit’s legs with shadow:

.rabbit::after?{
????box-shadow:?
????????0.5em?1em?0,
????????4em?1em?0?-0.2em,
????????4em?1em?0?-0.2em;
}

Draw the rabbit’s shadow:

.rabbit?{
????box-shadow:?-0.2em?1em?0?-0.75em?#333;
}

Draw a cloud:

.clouds?{
????width:?2em;
????height:?2em;
????color:?whitesmoke;
????background:?currentColor;
????border-radius:?100%?100%?0?0;
????transform:?translate(0,?-5em);
}

.clouds::before,
.clouds::after?{
????content:?'';
????position:?absolute;
????background-color:?currentColor;
????bottom:?0;
}

.clouds::before?{
????width:?1.25em;
????height:?1.25em;
????border-radius:?100%?100%?0?100%;
????left:?-30%;
}

.clouds::after?{
????width:?1.5em;
????height:?1.5em;
????border-radius:?100%?100%?100%?0;
????right:?-30%;
}

Use shadow to draw 2 A cloud:

.rabbit?{
????z-index:?1;
}

.clouds,
.clouds::before,
.clouds::after?{
????box-shadow:?
????5em?2em?0?-0.3em,
????-2em?2em?0?0;
}

Next, create the animation effect.
Add the rabbit jumping animation:

.rabbit?{
????animation:?hop?3s?linear?infinite;
}

@keyframes?hop?{
????20%?{
????????transform:?rotate(-10deg)?translate(1em,?-2em);
????????box-shadow:?-0.2em?1em?0?-1em?#333;
????}

????40%?{
????????transform:?rotate(10deg)?translate(3em,?-4em);
????????box-shadow:?-0.2em?3.25em?0?-1.1em?#333;
????}

????60%,?75%?{
????????transform:?rotate(0deg)?translate(4em,?0);
????????box-shadow:?-0.2em?1em?0?-0.75em?#333;
????}
}

Add the rabbit’s leg stretching animation:

.rabbit::after?{
????animation:?kick?3s?infinite?linear;
}

@keyframes?kick?{
????40%?{
????????box-shadow:?
????????????0.5em?2em?0,
????????????4.2em?1.75em?0?-0.2em,
????????????4.4em?1.9em?0?-0.2em;
????}
}

Add the cloud fluttering animation:

.clouds?{
????animation:?cloudy?3s?infinite?linear?forwards;
????filter:?opacity(0);
}

@keyframes?cloudy?{
????40%?{
????????transform:?translate(-3em,?-5em);
????????filter:?opacity(0.75);
????}

????55%?{
????????transform:?translate(-4em,?-5em);
????????filter:?opacity(0);
????}
}

Done!

Related recommendations:

How to use CSS to achieve the effect of truck loader

How to use CSS style to create a good-looking form style? (Code example)

How to implement css style effect when the web page is loaded? (Multiple style examples)

The above is the detailed content of How to use pure CSS to achieve a moving white rabbit animation effect. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Handling reconnections and errors with HTML5 Server-Sent Events. Handling reconnections and errors with HTML5 Server-Sent Events. Jul 03, 2025 am 02:28 AM

When using HTML5SSE, the methods to deal with reconnection and errors include: 1. Understand the default reconnection mechanism. EventSource retrys 3 seconds after the connection is interrupted by default. You can customize the interval through the retry field; 2. Listen to the error event to deal with connection failure or parsing errors, distinguish error types and execute corresponding logic, such as network problems relying on automatic reconnection, server errors manually delay reconnection, and authentication failure refresh token; 3. Actively control the reconnection logic, such as manually closing and rebuilding the connection, setting the maximum number of retry times, combining navigator.onLine to judge network status to optimize the retry strategy. These measures can improve application stability and user experience.

CSS tutorial for creating loading spinners and animations CSS tutorial for creating loading spinners and animations Jul 07, 2025 am 12:07 AM

There are three ways to create a CSS loading rotator: 1. Use the basic rotator of borders to achieve simple animation through HTML and CSS; 2. Use a custom rotator of multiple points to achieve the jump effect through different delay times; 3. Add a rotator in the button and switch classes through JavaScript to display the loading status. Each approach emphasizes the importance of design details such as color, size, accessibility and performance optimization to enhance the user experience.

Declaring the correct HTML5 doctype for modern pages. Declaring the correct HTML5 doctype for modern pages. Jul 03, 2025 am 02:35 AM

Doctype is a statement that tells the browser which HTML standard to use to parse the page. Modern web pages only need to be written at the beginning of the HTML file. Its function is to ensure that the browser renders the page in standard mode rather than weird mode, and must be located on the first line, with no spaces or comments in front of it; there is only one correct way to write it, and it is not recommended to use old versions or other variants; other such as charset, viewport, etc. should be placed in part.

Receiving real-time data with HTML5 Server-Sent Events (SSE). Receiving real-time data with HTML5 Server-Sent Events (SSE). Jul 02, 2025 pm 04:46 PM

Server-SentEvents (SSE) is a lightweight solution provided by HTML5 to push real-time updates to the browser. It realizes one-way communication through long HTTP connections, which is suitable for stock market, notifications and other scenarios. Create EventSource instance and listen for messages when using: consteventSource=newEventSource('/stream'); eventSource.onmessage=function(event){console.log('Received message:',event.data);}; The server needs to set Content-Type to text/event

Getting the user's current location with the HTML5 Geolocation API. Getting the user's current location with the HTML5 Geolocation API. Jul 02, 2025 pm 05:03 PM

When using HTML5Geolocation API to obtain user location, you must first obtain user authorization, and request and explain the purpose at the right time; the basic method is navigator.geolocation.getCurrentPosition(), which contains successful callbacks, wrong callbacks and configuration parameters; common reasons for failure include permission denied, browser not supported, network problems, etc., alternative solutions and clear prompts should be provided. The specific suggestions are as follows: 1. Request permissions when the user operation is triggered, such as clicking the button; 2. Use enableHighAccuracy, timeout, maximumAge and other parameters to optimize the positioning effect; 3. Error handling should distinguish between different errors

Improving SEO with HTML5 semantic markup and Microdata. Improving SEO with HTML5 semantic markup and Microdata. Jul 03, 2025 am 01:16 AM

Using HTML5 semantic tags and Microdata can improve SEO because it helps search engines better understand page structure and content meaning. 1. Use HTML5 semantic tags such as,,,, and to clarify the function of page blocks, which helps search engines establish a more accurate page model; 2. Add Microdata structured data to mark specific content, such as article author, release date, product price, etc., so that search engines can identify information types and use them for display of rich media summary; 3. Pay attention to the correct use of tags to avoid confusion, avoid duplicate tags, test the effectiveness of structured data, regularly update to adapt to changes in schema.org, and combine with other SEO means to optimize for long-term.

Integrating CSS and JavaScript effectively with HTML5 structure. Integrating CSS and JavaScript effectively with HTML5 structure. Jul 12, 2025 am 03:01 AM

HTML5, CSS and JavaScript should be efficiently combined with semantic tags, reasonable loading order and decoupling design. 1. Use HTML5 semantic tags, such as improving structural clarity and maintainability, which is conducive to SEO and barrier-free access; 2. CSS should be placed in, use external files and split by module to avoid inline styles and delayed loading problems; 3. JavaScript is recommended to be introduced in front, and use defer or async to load asynchronously to avoid blocking rendering; 4. Reduce strong dependence between the three, drive behavior through data-* attributes and class name control status, and improve collaboration efficiency through unified naming specifications. These methods can effectively optimize page performance and collaborate with teams.

Running background scripts using HTML5 Web Workers. Running background scripts using HTML5 Web Workers. Jul 02, 2025 pm 04:47 PM

WebWorkers is a multi-threaded mechanism provided by HTML5, which is used to run scripts in the browser background without blocking the main thread. It allows for tasks such as complex calculations, data processing, etc. while keeping the page responsive. The steps to create and use WebWorker include: 1. Create an external JavaScript file (such as worker.js); 2. Detect browser support on the main page; 3. Instantiate Worker objects; 4. Use postMessage() to send messages; 5. Receive results through onmessage. Its limitations include inability to operate the DOM, limited communication methods, and inconvenient debugging. Applicable scenarios include mathematical calculations, timing tasks, data encryption, image processing, etc. Use We reasonably

See all articles