Table of Contents
The dot effect achieved by box-shadow
Introduction" >Introduction
Implementation principle
Shortcomings
order + backgroundThe dotting effect achieved" >border + backgroundThe dotting effect achieved
Principle of implementation
Home Web Front-end CSS Tutorial About how CSS3 animate implements the '...' loading animation effect (2)

About how CSS3 animate implements the '...' loading animation effect (2)

May 26, 2017 pm 01:19 PM

The dot effect achieved by box-shadow

Introduction

box-shadow can theoretically generate any graphic effect, and of course it can also achieve dot-by-dot loading. It worked.

Implementation principle

html code, first you need to write the following html code and classclass name:

1

订单提交中<span class="dotting"></span>

Copy after login
Copy after login

css code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

.dotting {

    display: inline-block; min-width: 2px; min-height: 2px;

    box-shadow: 2px 0 currentColor, 6px 0 currentColor, 10px 0 currentColor; /* for IE9+, ..., 3个点 */

    animation: dot 4s infinite step-start both; /* for IE10+, ... */

    *zoom: expression(this.innerHTML = &#39;...&#39;); /*  for IE7. 若无需兼容IE7, 此行删除 */

}

.dotting:before { content: &#39;...&#39;; } /* for IE8. 若无需兼容IE8, 此行以及下一行删除*/

.dotting::before { content: &#39;&#39;; } /* for IE9+ 覆盖 IE8 */

:root .dotting { margin-right: 8px; } /* for IE9+,FF,CH,OP,SF 占据空间*/

 

@keyframes dot {

    25% { box-shadow: none; }                                  /* 0个点 */

    50% { box-shadow: 2px 0 currentColor; }                    /* 1个点 */

    75% { box-shadow: 2px 0 currentColor, 6px 0 currentColor;  /* 2个点 */ }

}

Copy after login

The currentColor keyword is used here, which is supported by the IE9+ browser. It allows the color of the graphics generated by CSS to be the same as the color attribute value of the environment. That is, the same color as the text.

The effects achieved by each browser are as shown in the figure:
About how CSS3 animate implements the '...' loading animation effect (2)

Shortcomings

Although almost all browsers It has a good look, but in terms of effect, there are still flaws. The edges of the points under IE10+ and FireFox browsers are a bit blurry (see the screenshot below), although the CSS code does not set the box shadow blur. This feathering phenomenon can make the effect of IE and FireFox closer to the photoshop shadow effect when the box shadow is large. However, when the shadow is small, it is not what we want.
About how CSS3 animate implements the '...' loading animation effect (2)

border + backgroundThe dotting effect achieved

Principle of implementation

html code

1

订单提交中<span class="dotting"></span>

Copy after login
Copy after login

css code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

.dotting {

    display: inline-block; width: 10px; min-height: 2px;

    padding-right: 2px;

    border-left: 2px solid currentColor; border-right: 2px solid currentColor;  

    background-color: currentColor; background-clip: content-box;

    box-sizing: border-box;

    animation: dot 4s infinite step-start both;

    *zoom: expression(this.innerHTML = &#39;...&#39;); /* IE7 */

}

.dotting:before { content: &#39;...&#39;; } /* IE8 */

.dotting::before { content: &#39;&#39;; }

:root .dotting { margin-left: 2px; padding-left: 2px; } /* IE9+ */

 

@keyframes dot {

    25% { border-color: transparent; background-color: transparent; }          /* 0个点 */

    50% { border-right-color: transparent; background-color: transparent; }    /* 1个点 */

    75% { border-right-color: transparent; }                                   /* 2个点 */

}

Copy after login

Instructions:

##1. The same is 4 seconds

Animation, displaying 1 point per second; 2. The implementation principle of IE7/IE8 is the same as the above box-shadow method, both are content generation. If you do not need to be compatible with IE7/IE8, you can follow the first one Example CSS code
CommentsInstructions to delete some CSS;3.The currentColor keyword can characterize graphics, which is essential;
4.The biggest contributor is the CSS3 background-clip attribute, which can make IE9+ Under the browser, the left and right padding has no background color, thus forming an equal dot effect.
5.box-sizing is responsible for making modern browsers occupy exactly the same width as IE7/IE8: the actual width of IE7/IE8 is width+padding-right of 12 pixels, and the width+margin-left of other modern browsers is also the same. 12 pixels;
6. The CSS code here is mainly used to show the principle, so the -webkit-animation and @-webkit-keyframes private prefixes are not displayed, but they are still needed currently;

The above is the detailed content of About how CSS3 animate implements the '...' loading animation effect (2). 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

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.

Undress AI Tool

Undress AI Tool

Undress images for free

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)

How to achieve wave effect with pure CSS3? (code example) How to achieve wave effect with pure CSS3? (code example) Jun 28, 2022 pm 01:39 PM

How to achieve wave effect with pure CSS3? This article will introduce to you how to use SVG and CSS animation to create wave effects. I hope it will be helpful to you!

Use CSS skillfully to realize various strange-shaped buttons (with code) Use CSS skillfully to realize various strange-shaped buttons (with code) Jul 19, 2022 am 11:28 AM

This article will show you how to use CSS to easily realize various weird-shaped buttons that appear frequently. I hope it will be helpful to you!

How to hide elements in css without taking up space How to hide elements in css without taking up space Jun 01, 2022 pm 07:15 PM

Two methods: 1. Using the display attribute, just add the "display:none;" style to the element. 2. Use the position and top attributes to set the absolute positioning of the element to hide the element. Just add the "position:absolute;top:-9999px;" style to the element.

How to implement lace borders in css3 How to implement lace borders in css3 Sep 16, 2022 pm 07:11 PM

In CSS, you can use the border-image attribute to achieve a lace border. The border-image attribute can use images to create borders, that is, add a background image to the border. You only need to specify the background image as a lace style; the syntax "border-image: url (image path) offsets the image border width inward. Whether outset is repeated;".

How to enlarge the image by clicking the mouse in css3 How to enlarge the image by clicking the mouse in css3 Apr 25, 2022 pm 04:52 PM

Implementation method: 1. Use the ":active" selector to select the state of the mouse click on the picture; 2. Use the transform attribute and scale() function to achieve the picture magnification effect, the syntax "img:active {transform: scale(x-axis magnification, y Axis magnification);}".

It turns out that text carousel and image carousel can also be realized using pure CSS! It turns out that text carousel and image carousel can also be realized using pure CSS! Jun 10, 2022 pm 01:00 PM

How to create text carousel and image carousel? The first thing everyone thinks of is whether to use js. In fact, text carousel and image carousel can also be realized using pure CSS. Let’s take a look at the implementation method. I hope it will be helpful to everyone!

How to set animation rotation speed in css3 How to set animation rotation speed in css3 Apr 28, 2022 pm 04:32 PM

In CSS3, you can use the "animation-timing-function" attribute to set the animation rotation speed. This attribute is used to specify how the animation will complete a cycle and set the speed curve of the animation. The syntax is "element {animation-timing-function: speed attribute value;}".

How to implement global loading effect in Vue How to implement global loading effect in Vue Jun 11, 2023 am 09:05 AM

In front-end development, we often have a scenario where the user needs to wait for the data to be loaded during interaction with the web page. At this time, there is usually a loading effect displayed to remind the user to wait. In the Vue framework, it is not difficult to implement a global loading effect. Let’s introduce how to implement it. Step 1: Create a Vue plug-in We can create a Vue plug-in named loading, which can be referenced in all Vue instances. In the plug-in, we need to implement the following two methods: s

See all articles