Bauhaus Rotational Disc
🟢 CSS OnlyConcentrically spinning geometry targets styled with primary colors over a dark blueprint dot field.
Responsive Horizontal Leaderboard
Slot ID: ca-pub-detail-below-preview
Interactive Settings
Medium Rectangle Block
Slot ID: ca-pub-detail-after-customization
Quick Copy Actions
Download File Packages
Keyboard Shortcuts
Responsive Horizontal Leaderboard
Slot ID: ca-pub-detail-before-related
More in Abstract
Loading Canvas Shader...
Viscous Chrome Fluid
A premium, edge-to-edge liquid chrome and viscous ink simulation responsive to high-velocity mouse cursor tracking.
Loading Canvas Shader...
Floating 3D Squares
Floating wireframe 3D-rotated square outlines drifting and spinning upwards on cosmic black.
Loading Canvas Shader...
Kinetic Gravity Well
An abstract, massive orbital simulation constructed from thousands of mathematically precise microscopic kinetic dots that violently react to cursor-driven gravity physics.
Bauhaus Rotational Disc - CSS-only Abstract background for React & Tailwind
Integrate the Bauhaus Rotational Disc directly into your website. This asset is rendered using pure CSS and HTML keyframes. It is optimized for zero layout-shifts and runs with high-performance hardware-accelerated processing.
⚡ Performance Specifications
- Render Mode: CSS-ONLY (CSS-only)
- Fluidity: Locked at 60fps dynamic loop
- Bundle Footprint: Zero external NPM dependencies
- SEO Indexing status: 100% Crawlable static semantic HTML
🛠️ Integration Capabilities
Our templates expose inline design tokens like --color-1 and --color-2 for infinite color palettes. This template is designed to fit inside hero elements, full-screen landing pages, and interactive presentation cards.
Technical Code Reference & Syntaxes for Googlebot & Crawlers
The snippets below display the direct, unminified source code utilized for rendering this background.
HTML & Inline CSS Snippet (Vanilla)
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bauhaus Rotational Disc</title>
<style>
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
overflow: hidden;
background: #09090b;
}
.bauhaus-disc-container {
--color-1: #E71D36;
--color-2: #FF9F1C;
--color-3: #41EAD4;
position: relative;
width: 100%;
height: 100%;
background: #0d0e15;
overflow: hidden;
}
.bauhaus-disc-ambient {
position: absolute;
width: 80%;
height: 80%;
top: 10%;
left: 10%;
background: radial-gradient(circle, rgba(65, 234, 212, 0.08) 0%, transparent 70%);
filter: blur(50px);
}
.bauhaus-disc-element {
position: absolute;
top: 50%;
left: 50%;
border-radius: 50%;
transform-origin: center center;
}
.disc-1 {
width: 380px;
height: 380px;
margin-top: -190px;
margin-left: -190px;
background:
conic-gradient(from 0deg, var(--color-1) 0 90deg, transparent 90deg 180deg, var(--color-2) 180deg 270deg, transparent 270deg 360deg);
opacity: 0.18;
animation: bauhaus-spin 25s linear infinite;
}
.disc-2 {
width: 220px;
height: 220px;
margin-top: -110px;
margin-left: -110px;
background:
conic-gradient(from 120deg, var(--color-3) 0 45deg, transparent 45deg 220deg, rgba(255,255,255,0.1) 220deg 270deg, transparent 270deg 360deg);
opacity: 0.25;
animation: bauhaus-spin-reverse 15s linear infinite;
}
.bauhaus-disc-grid {
position: absolute;
inset: 0;
background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
background-size: 30px 30px;
}
@keyframes bauhaus-spin {
from { transform: rotate(0deg) scale(1); }
50% { transform: rotate(180deg) scale(1.08); }
to { transform: rotate(360deg) scale(1); }
}
@keyframes bauhaus-spin-reverse {
from { transform: rotate(360deg); }
to { transform: rotate(0deg); }
}
</style>
</head>
<body>
<div class="bauhaus-disc-container">
<div class="bauhaus-disc-ambient"></div>
<div class="bauhaus-disc-element disc-1"></div>
<div class="bauhaus-disc-element disc-2"></div>
<div class="bauhaus-disc-grid"></div>
</div>
</body>
</html>React Component Wrapper (TSX)
import React from 'react';
export default function BauhausRotationalDiscBackground() {
return (
<div
style={{ width: '100%', height: '100%', position: 'relative', overflow: 'hidden' }}
>
<style dangerouslySetInnerHTML={{ __html: `
.bauhaus-disc-container {
--color-1: #E71D36;
--color-2: #FF9F1C;
--color-3: #41EAD4;
position: relative;
width: 100%;
height: 100%;
background: #0d0e15;
overflow: hidden;
}
.bauhaus-disc-ambient {
position: absolute;
width: 80%;
height: 80%;
top: 10%;
left: 10%;
background: radial-gradient(circle, rgba(65, 234, 212, 0.08) 0%, transparent 70%);
filter: blur(50px);
}
.bauhaus-disc-element {
position: absolute;
top: 50%;
left: 50%;
border-radius: 50%;
transform-origin: center center;
}
.disc-1 {
width: 380px;
height: 380px;
margin-top: -190px;
margin-left: -190px;
background:
conic-gradient(from 0deg, var(--color-1) 0 90deg, transparent 90deg 180deg, var(--color-2) 180deg 270deg, transparent 270deg 360deg);
opacity: 0.18;
animation: bauhaus-spin 25s linear infinite;
}
.disc-2 {
width: 220px;
height: 220px;
margin-top: -110px;
margin-left: -110px;
background:
conic-gradient(from 120deg, var(--color-3) 0 45deg, transparent 45deg 220deg, rgba(255,255,255,0.1) 220deg 270deg, transparent 270deg 360deg);
opacity: 0.25;
animation: bauhaus-spin-reverse 15s linear infinite;
}
.bauhaus-disc-grid {
position: absolute;
inset: 0;
background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
background-size: 30px 30px;
}
@keyframes bauhaus-spin {
from { transform: rotate(0deg) scale(1); }
50% { transform: rotate(180deg) scale(1.08); }
to { transform: rotate(360deg) scale(1); }
}
@keyframes bauhaus-spin-reverse {
from { transform: rotate(360deg); }
to { transform: rotate(0deg); }
}
` }} />
{/* HTML Structure */}
<div
style={{ width: '100%', height: '100%' }}
dangerouslySetInnerHTML={{ __html: `
<div class="bauhaus-disc-container">
<div class="bauhaus-disc-ambient"></div>
<div class="bauhaus-disc-element disc-1"></div>
<div class="bauhaus-disc-element disc-2"></div>
<div class="bauhaus-disc-grid"></div>
</div>
` }}
/>
</div>
);
}Next.js App Router Component (use client)
'use client';
import React from 'react';
export default function BauhausRotationalDiscBackground() {
return (
<div
className="w-full h-full relative overflow-hidden"
>
<style dangerouslySetInnerHTML={{ __html: `
.bauhaus-disc-container {
--color-1: #E71D36;
--color-2: #FF9F1C;
--color-3: #41EAD4;
position: relative;
width: 100%;
height: 100%;
background: #0d0e15;
overflow: hidden;
}
.bauhaus-disc-ambient {
position: absolute;
width: 80%;
height: 80%;
top: 10%;
left: 10%;
background: radial-gradient(circle, rgba(65, 234, 212, 0.08) 0%, transparent 70%);
filter: blur(50px);
}
.bauhaus-disc-element {
position: absolute;
top: 50%;
left: 50%;
border-radius: 50%;
transform-origin: center center;
}
.disc-1 {
width: 380px;
height: 380px;
margin-top: -190px;
margin-left: -190px;
background:
conic-gradient(from 0deg, var(--color-1) 0 90deg, transparent 90deg 180deg, var(--color-2) 180deg 270deg, transparent 270deg 360deg);
opacity: 0.18;
animation: bauhaus-spin 25s linear infinite;
}
.disc-2 {
width: 220px;
height: 220px;
margin-top: -110px;
margin-left: -110px;
background:
conic-gradient(from 120deg, var(--color-3) 0 45deg, transparent 45deg 220deg, rgba(255,255,255,0.1) 220deg 270deg, transparent 270deg 360deg);
opacity: 0.25;
animation: bauhaus-spin-reverse 15s linear infinite;
}
.bauhaus-disc-grid {
position: absolute;
inset: 0;
background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
background-size: 30px 30px;
}
@keyframes bauhaus-spin {
from { transform: rotate(0deg) scale(1); }
50% { transform: rotate(180deg) scale(1.08); }
to { transform: rotate(360deg) scale(1); }
}
@keyframes bauhaus-spin-reverse {
from { transform: rotate(360deg); }
to { transform: rotate(0deg); }
}
` }} />
{/* HTML Structure */}
<div
className="w-full h-full"
dangerouslySetInnerHTML={{ __html: `
<div class="bauhaus-disc-container">
<div class="bauhaus-disc-ambient"></div>
<div class="bauhaus-disc-element disc-1"></div>
<div class="bauhaus-disc-element disc-2"></div>
<div class="bauhaus-disc-grid"></div>
</div>
` }}
/>
</div>
);
}Raw CSS Stylesheet Snippet
.bauhaus-disc-container {
--color-1: #E71D36;
--color-2: #FF9F1C;
--color-3: #41EAD4;
position: relative;
width: 100%;
height: 100%;
background: #0d0e15;
overflow: hidden;
}
.bauhaus-disc-ambient {
position: absolute;
width: 80%;
height: 80%;
top: 10%;
left: 10%;
background: radial-gradient(circle, rgba(65, 234, 212, 0.08) 0%, transparent 70%);
filter: blur(50px);
}
.bauhaus-disc-element {
position: absolute;
top: 50%;
left: 50%;
border-radius: 50%;
transform-origin: center center;
}
.disc-1 {
width: 380px;
height: 380px;
margin-top: -190px;
margin-left: -190px;
background:
conic-gradient(from 0deg, var(--color-1) 0 90deg, transparent 90deg 180deg, var(--color-2) 180deg 270deg, transparent 270deg 360deg);
opacity: 0.18;
animation: bauhaus-spin 25s linear infinite;
}
.disc-2 {
width: 220px;
height: 220px;
margin-top: -110px;
margin-left: -110px;
background:
conic-gradient(from 120deg, var(--color-3) 0 45deg, transparent 45deg 220deg, rgba(255,255,255,0.1) 220deg 270deg, transparent 270deg 360deg);
opacity: 0.25;
animation: bauhaus-spin-reverse 15s linear infinite;
}
.bauhaus-disc-grid {
position: absolute;
inset: 0;
background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
background-size: 30px 30px;
}
@keyframes bauhaus-spin {
from { transform: rotate(0deg) scale(1); }
50% { transform: rotate(180deg) scale(1.08); }
to { transform: rotate(360deg) scale(1); }
}
@keyframes bauhaus-spin-reverse {
from { transform: rotate(360deg); }
to { transform: rotate(0deg); }
}