Drei Wege, dunklen Text über einem Foto lesbar zu halten: A Gradient-Veil (Verlauf von einer Seite, Vorbild: Bernstein), B flacher rgba-Schleier (gleichmäßig, Vorbild: Hauszeit), C Masken-Fade (Foto blendet nach unten in die Fläche aus, kantenloser Übergang, Vorbild: NDS). Foto hier als CSS-Verlauf.
Küchenmontage
Sauber geplant, termintreu montiert.
A · Gradient-Veil
Küchenmontage
Sauber geplant, termintreu montiert.
B · Flach-Veil (rgba)
Küchenmontage
Sauber geplant, termintreu montiert.
C · Masken-Fade unten
<!-- A: Gradient-Veil · B: Flach-Veil · C: Masken-Fade (Klasse tauschen) -->
<div class="fx-hero fx-hero--grad">
<div class="fx-hero-photo" aria-hidden="true"></div>
<div class="fx-hero-in">
<h4>Küchenmontage</h4>
<p>Sauber geplant, termintreu montiert.</p>
</div>
</div>
<style>
.fx-hero{position:relative;max-width:460px;min-height:230px;border-radius:14px;overflow:hidden;
display:flex;align-items:flex-end;border:1px solid #26262c}
/* „Foto" als CSS-Verlauf angedeutet (im Projekt durch background:url(...) ersetzen) */
.fx-hero-photo{position:absolute;inset:0;z-index:0;
background:radial-gradient(120% 90% at 78% 18%,#3a3a52 0%,#272736 42%,#16161a 100%)}
.fx-hero-in{position:relative;z-index:2;padding:1.4rem 1.6rem;color:#f4f4f5}
.fx-hero-in h4{margin:0 0 .35rem;font-size:1.25rem}
.fx-hero-in p{margin:0;font-size:.86rem;color:#e9e9ee}
/* A — Gradient-Veil: Verlauf aus zwei Richtungen */
.fx-hero--grad .fx-hero-photo::after{content:"";position:absolute;inset:0;
background:
linear-gradient(180deg,rgba(15,15,18,.10) 0%,rgba(15,15,18,0) 30%,rgba(15,15,18,.62) 82%,#0f0f12 100%),
linear-gradient(90deg,rgba(15,15,18,.92) 0%,rgba(15,15,18,.55) 40%,rgba(15,15,18,0) 78%)}
/* B — Flach-Veil: gleichmäßiger rgba-Schleier */
.fx-hero--flat .fx-hero-photo::after{content:"";position:absolute;inset:0;background:rgba(15,15,18,.55)}
/* C — Masken-Fade: Foto blendet nach unten aus */
.fx-hero--mask{background:#16161a}
.fx-hero--mask .fx-hero-photo{
-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 64%,rgba(0,0,0,.4) 88%,transparent 100%);
mask-image:linear-gradient(180deg,#000 0%,#000 64%,rgba(0,0,0,.4) 88%,transparent 100%)}
.fx-hero--mask .fx-hero-photo::after{content:"";position:absolute;inset:0;
background:linear-gradient(90deg,rgba(15,15,18,.55) 0%,rgba(15,15,18,.12) 60%,rgba(15,15,18,0) 100%)}
</style>