Result: html <canvas id="starfield"></canvas> CSS * { background:black; padding:0; margin:0; } canvas { padding:0; margin:0; width:100%; height:100%; } js function $i(t) { return document.getElementById(t) } function $r(t, r) { document.getElementById(t).removeChild(document.getElementById(r)) } function $t(t) { return document.getElementsByTagName(t) } function $c(t) { return String.fromCharCode(t) } function $h(t) { return ("0" + Math.max(0, Math.min(255, Math.round(t))).toString(16)).slice(-2) } function _i(t, r) { $t("div")[t].innerHTML += r } function _h(t) { return hires ? Math.round(t / 2) : t } function get_screen_size() { var t = document.documentElement.clientWidth, r = document.documentElement.clientHeight; return Array(t, r) } function init() { for (var t = 0; n > t; t++) star[t] = new Array(5), star[t][0] = Math.random() * w * 2 - 2 * x, star[t][1] = Math.random() * h * 2 - 2 * y, star[t][2] = Math.round(Math.random() * z), star[t][3] = 0, star[t][4] = 0; var r = $i("starfield"); r.style.position = "absolute", r.width = w, r.height = h, context = r.getContext("2d"), context.fillStyle = "rgb(0,0,0)", context.strokeStyle = "rgb(255,255,255)" } function anim() { mouse_x = cursor_x - x, mouse_y = cursor_y - y, context.fillRect(0, 0, w, h); for (var t = 0; n > t; t++) test = !0, star_x_save = star[t][3], star_y_save = star[t][4], star[t][0] += mouse_x >> 4, star[t][0] > x << 1 && (star[t][0] -= w << 1, test = !1), star[t][0] < -x << 1 && (star[t][0] += w << 1, test = !1), star[t][1] += mouse_y >> 4, star[t][1] > y << 1 && (star[t][1] -= h << 1, test = !1), star[t][1] < -y << 1 && (star[t][1] += h << 1, test = !1), star[t][2] -= star_speed, star[t][2] > z && (star[t][2] -= z, test = !1), star[t][2] < 0 && (star[t][2] += z, test = !1), star[t][3] = x + star[t][0] / star[t][2] * star_ratio, star[t][4] = y + star[t][1] / star[t][2] * star_ratio, star_x_save > 0 && w > star_x_save && star_y_save > 0 && h > star_y_save && test && (context.lineWidth = 2 * (1 - star_color_ratio * star[t][2]), context.beginPath(), context.moveTo(star_x_save, star_y_save), context.lineTo(star[t][3], star[t][4]), context.stroke(), context.closePath()); timeout = setTimeout("anim()", fps) } function start() { resize(), anim() } function resize() { w = parseInt(-1 != url.indexOf("w=") ? url.substring(url.indexOf("w=") + 2, -1 != url.substring(url.indexOf("w=") + 2, url.length).indexOf("&") ? url.indexOf("w=") + 2 + url.substring(url.indexOf("w=") + 2, url.length).indexOf("&") : url.length) : get_screen_size()[0]), h = parseInt(-1 != url.indexOf("h=") ? url.substring(url.indexOf("h=") + 2, -1 != url.substring(url.indexOf("h=") + 2, url.length).indexOf("&") ? url.indexOf("h=") + 2 + url.substring(url.indexOf("h=") + 2, url.length).indexOf("&") : url.length) : get_screen_size()[1]), x = Math.round(w / 2), y = Math.round(h / 2), z = (w + h) / 2, star_color_ratio = 1 / z, cursor_x = x, cursor_y = y, init() } var url = document.location.href, flag = !0, test = !0, n = parseInt(-1 != url.indexOf("n=") ? url.substring(url.indexOf("n=") + 2, -1 != url.substring(url.indexOf("n=") + 2, url.length).indexOf("&") ? url.indexOf("n=") + 2 + url.substring(url.indexOf("n=") + 2, url.length).indexOf("&") : url.length) : 812), w = 0, h = 0, x = 0, y = 0, z = 0, star_color_ratio = 0, star_x_save, star_y_save, star_ratio = 115, star_speed = 5, star_speed_save = 0, star = new Array(n), color, opacity = .1, cursor_x = 0, cursor_y = 0, mouse_x = 0, mouse_y = 0, canvas_x = 0, canvas_y = 0, canvas_w = 0, canvas_h = 0, context, key, ctrl, timeout, fps = 0; start(); The above is the details of how to use CSS3 to realize the star-studded animation. For more information about CSS3 star-studded animation, please pay attention to other related articles on 123WORDPRESS.COM! |
<<: MySQL data analysis storage engine example explanation
>>: Detailed tutorial on jdk installation and environment variable configuration under Win10
Preface Js is the most commonly used code manipul...
Table of contents 1. Overview 2. Attributes 1. Ma...
Table of contents Overview Canvas API: Drawing Gr...
Python connects to MySQL to modify and query data...
Swap space is a common aspect of computing today,...
COALESCE is a function that refers to each parame...
Operating system win10 MySQL is the 64-bit zip de...
Enter net start mysql in cmd and the prompt is: T...
Demand background The project is made using Vue, ...
This article shares a digital clock effect implem...
1. Set firewall rules Example 1: Expose port 8080...
Assuming you are a linuxer , we don't want to...
First download VMware Workstation 15.1 version. I...
This article shares the specific code of JavaScri...
Ubuntu Server 16.04 MySQL 8.0 installation and co...