Toma 404 de 404

Esta foto ha salido movida.

Hemos enfocado en todas partes y la página no aparece en el encuadre. Volvamos a la galería.

Ir a la galería
HTML + CSS404

Kamerasucher-404

Ein Kamerasucher sucht den Fokus: Die 404 wird unscharf und scharf, das AF Feld wird grün, und der Blitz löst aus.

Einstellungen

1x

Code

<!doctype html>
<html lang="es">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="robots" content="noindex" />
    <title>404 · Seite nicht gefunden</title>
    <style>
      body { margin: 0; background: #000; }
      .n4-photo {
        --accent: #a3e635;
        --k: 1;
        position: fixed;
        inset: 0;
        z-index: 0;
        overflow: hidden;
        container-type: size;
        display: grid;
        place-items: center;
        background: #000;
        color: #f5f5f7;
        font-family: -apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",system-ui,sans-serif;
        -webkit-font-smoothing: antialiased;
        text-align: center;
        line-height: 1.4;
      }
      
      .n4-photo *,.n4-photo *::before,.n4-photo *::after {
        box-sizing: border-box;
      }
      
      .n4-photo .n4-copy {
        position: relative;
        z-index: 5;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.6cqmin;
        width: 100%;
        max-width: 680px;
        padding: 0 6cqw;
      }
      
      .n4-photo .n4-title {
        margin: 0;
        font-size: clamp(17px,4.2cqmin,36px);
        font-weight: 600;
        letter-spacing: -.02em;
        line-height: 1.15;
        text-wrap: balance;
      }
      
      .n4-photo .n4-sub {
        margin: 0;
        max-width: 34em;
        font-size: clamp(13px,2.4cqmin,18px);
        color: #a1a1a6;
        text-wrap: balance;
      }
      
      .n4-photo .n4-tag {
        font: 600 clamp(10px,1.9cqmin,13px)/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;
        letter-spacing: .16em;
        text-transform: uppercase;
        color: var(--accent);
      }
      
      .n4-photo .n4-cta {
        margin-top: 1.8cqmin;
        display: inline-flex;
        align-items: center;
        gap: .5em;
        padding: .85em 1.5em;
        border-radius: 999px;
        background: #f5f5f7;
        color: #000;
        font-size: clamp(13px,2.2cqmin,16px);
        font-weight: 600;
        text-decoration: none;
        transition: transform .3s cubic-bezier(.25,.1,.25,1),box-shadow .3s cubic-bezier(.25,.1,.25,1);
      }
      
      .n4-photo .n4-cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 32px -10px var(--accent);
      }
      
      .n4-photo .n4-cta:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 3px;
      }
      
      .n4-photo .n4-stars,.n4-photo .n4-stars2 {
        position: absolute;
        inset: -4%;
        pointer-events: none;
      }
      
      .n4-photo .n4-stars {
        background-image: radial-gradient(1px 1px at 8% 12%,#fff 60%,transparent),radial-gradient(1px 1px at 22% 68%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 35% 24%,#fff 60%,transparent),radial-gradient(1px 1px at 48% 82%,#fff 60%,transparent),radial-gradient(1px 1px at 57% 9%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 66% 44%,#fff 60%,transparent),radial-gradient(1px 1px at 74% 72%,#fff 60%,transparent),radial-gradient(1px 1px at 86% 18%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 93% 58%,#fff 60%,transparent),radial-gradient(1px 1px at 14% 42%,#fff 60%,transparent),radial-gradient(1px 1px at 40% 55%,#fff 60%,transparent),radial-gradient(1px 1px at 81% 90%,#fff 60%,transparent),radial-gradient(1px 1px at 4% 88%,#fff 60%,transparent),radial-gradient(1px 1px at 62% 30%,#fff 60%,transparent);
        opacity: .75;
        animation: n4-photo-tw calc(5s / var(--k)) ease-in-out infinite alternate;
      }
      
      .n4-photo .n4-stars2 {
        background-image: radial-gradient(2px 2px at 18% 30%,rgba(255,255,255,.9) 50%,transparent),radial-gradient(1.5px 1.5px at 72% 20%,rgba(255,255,255,.8) 50%,transparent),radial-gradient(2px 2px at 30% 85%,rgba(255,255,255,.7) 50%,transparent),radial-gradient(1.5px 1.5px at 88% 70%,rgba(255,255,255,.8) 50%,transparent),radial-gradient(2px 2px at 52% 60%,rgba(255,255,255,.6) 50%,transparent),radial-gradient(1.5px 1.5px at 6% 55%,rgba(255,255,255,.8) 50%,transparent);
        opacity: .55;
        animation: n4-photo-tw calc(7s / var(--k)) ease-in-out infinite alternate-reverse;
      }
      
      .n4-photo [data-depth] {
        transition: transform .9s cubic-bezier(.2,.7,.2,1);
      }
      
      @keyframes n4-photo-tw {
        from {
          opacity: .3;
        }
      }
      
      @keyframes n4-photo-spin {
        to {
          transform: rotate(1turn);
        }
      }
      
      @keyframes n4-photo-fade {
        from {
          opacity: 0;
          transform: translateY(10px);
        }
      }
      
      @media (prefers-reduced-motion:reduce) {
        .n4-photo *,.n4-photo *::before,.n4-photo *::after {
          animation: none!important;
          transition: none!important;
        }
      }
      
      .n4-photo {
        background: #050505;
        color: #fafafa;
      }
      
      .n4-photo .n4-vf {
        position: relative;
        width: min(82cqmin,580px);
        aspect-ratio: 3/2;
        margin-bottom: 1.5cqmin;
        display: grid;
        place-items: center;
        overflow: hidden;
        border-radius: 1cqmin;
        background: radial-gradient(60% 70% at 50% 50%,#3f3f46,#18181b 80%);
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
      }
      
      .n4-photo .n4-grid {
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg,transparent 33.2%,rgba(255,255,255,.18) 33.3% 33.5%,transparent 33.6% 66.5%,rgba(255,255,255,.18) 66.6% 66.8%,transparent 66.9%),linear-gradient(transparent 33.2%,rgba(255,255,255,.18) 33.3% 33.5%,transparent 33.6% 66.5%,rgba(255,255,255,.18) 66.6% 66.8%,transparent 66.9%);
      }
      
      .n4-photo .n4-vf::before {
        content: "";
        position: absolute;
        inset: 4%;
        background: linear-gradient(#fff,#fff) 0 0/6% 2px,linear-gradient(#fff,#fff) 0 0/2px 9%,linear-gradient(#fff,#fff) 100% 0/6% 2px,linear-gradient(#fff,#fff) 100% 0/2px 9%,linear-gradient(#fff,#fff) 0 100%/6% 2px,linear-gradient(#fff,#fff) 0 100%/2px 9%,linear-gradient(#fff,#fff) 100% 100%/6% 2px,linear-gradient(#fff,#fff) 100% 100%/2px 9%;
        background-repeat: no-repeat;
        opacity: .8;
      }
      
      .n4-photo .n4-subj {
        font: 800 clamp(40px,20cqmin,150px)/1 -apple-system,system-ui,sans-serif;
        letter-spacing: -.05em;
        color: #f4f4f5;
        animation: n4-photo-focus calc(4s / var(--k)) ease-in-out infinite;
      }
      
      .n4-photo .n4-af {
        position: absolute;
        width: 16%;
        aspect-ratio: 1;
        border: 2px solid #fafafa;
        border-radius: .3cqmin;
        animation: n4-photo-af calc(4s / var(--k)) steps(1) infinite;
      }
      
      .n4-photo .n4-top,.n4-photo .n4-info {
        position: absolute;
        left: 6%;
        right: 6%;
        display: flex;
        justify-content: space-between;
        font: 600 clamp(8px,1.9cqmin,13px)/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;
        color: #e4e4e7;
      }
      
      .n4-photo .n4-top {
        top: 7%;
      }
      
      .n4-photo .n4-info {
        bottom: 7%;
      }
      
      .n4-photo .n4-bat {
        width: 2.4em;
        height: 1.1em;
        border: 1.5px solid currentColor;
        border-radius: .2em;
        background: linear-gradient(90deg,currentColor 0 60%,transparent 60%) 2px 2px/calc(100% - 4px) calc(100% - 4px) no-repeat;
      }
      
      .n4-photo .n4-flash {
        position: absolute;
        inset: 0;
        background: #fff;
        opacity: 0;
        animation: n4-photo-flash calc(4s / var(--k)) ease-out infinite;
      }
      
      .n4-photo .n4-title {
        font-size: clamp(20px,5cqmin,42px);
        font-weight: 700;
        letter-spacing: -.02em;
      }
      
      .n4-photo .n4-cta {
        background: var(--accent);
        color: #0a0a0a;
      }
      
      @keyframes n4-photo-focus {
        0%,8% {
          filter: blur(14px);
        }
        22% {
          filter: blur(3px);
        }
        30% {
          filter: blur(8px);
        }
        44%,82% {
          filter: blur(0);
        }
        100% {
          filter: blur(14px);
        }
      }
      
      @keyframes n4-photo-af {
        0% {
          border-color: #fafafa;
          opacity: 1;
        }
        20% {
          opacity: .4;
        }
        30% {
          opacity: 1;
        }
        44% {
          border-color: var(--accent);
          box-shadow: 0 0 1.4cqmin var(--accent);
        }
        84% {
          border-color: #fafafa;
          box-shadow: none;
        }
      }
      
      @keyframes n4-photo-flash {
        0%,62% {
          opacity: 0;
        }
        63% {
          opacity: .9;
        }
        70%,100% {
          opacity: 0;
        }
      }
      
      @media (prefers-reduced-motion:reduce) {
        .n4-photo .n4-flash {
          display: none;
        }
      }
    </style>
  </head>
  <body>
    <main class="n4-photo">
      <div class="n4-copy">
        <div class="n4-vf" aria-hidden="true" translate="no">
          <i class="n4-grid"></i>
          <span class="n4-top"><b>RAW</b><b>AF-S</b><b class="n4-bat"></b></span>
          <b class="n4-subj">404</b>
          <i class="n4-af"></i>
          <span class="n4-info"><b>f/4.04</b><b>1/404</b><b>ISO 404</b><b>[ 404 ]</b></span>
          <i class="n4-flash"></i>
        </div>
        <span class="n4-tag">Aufnahme 404 von 404</span>
        <h1 class="n4-title">Dieses Foto ist verwackelt.</h1>
        <p class="n4-sub">Wir haben überall scharfgestellt, aber die Seite ist nicht im Bild. Zurück zur Galerie.</p>
        <a class="n4-cta" href="/">Zur Galerie</a>
      </div>
    </main>
  </body>
</html>

Prompt für KI

Füg ihn in ChatGPT, Claude oder Cursor ein und der Baustein wird mit diesen Einstellungen an dein Projekt angepasst, auch ohne React.

Mehr aus 404

Alle ansehen: 404

Wofür du ihn nutzen kannst

Fotografen, Studios und Fotolabore erkennen diesen Bildschirm sofort. Ein Kamerasucher mit Eckmarken, Drittelraster, RAW und AF-S Anzeige und Batteriesymbol rahmt eine große 404. Das Objektiv sucht den Fokus, schießt über und findet ihn, das Autofokusfeld wird beim Scharfstellen grün, und der Blitz zuckt kurz weiß, bevor alles von vorn beginnt.

Die Belichtungswerte unten spielen mit f/4.04, 1/404 und ISO 404 mit. Alles ist CSS, der Blitz entfällt bei reduzierter Bewegung, und das Limettengrün markiert Fokus und Knopf. Verlinke den Knopf mit deiner Galerie oder deinem Portfolio.