Crear superposición de degradado de fondo en la página, haciendo que el área de discusión sea blanca

He añadido un patrón de fondo .svg sutil (que se repite) a mi CSS del tema, utilizando el siguiente código:

body {
background:url(https://forums.pickleballist.com/uploads/default/original/1X/b7df60bb8a3fd1584f393dee365865ca83e4906e.svg) center top;
background-size: 300px auto;
}

El área .wrap predeterminada en una nueva instalación de Discourse tiene max-width: 1110px;. Actualmente, mi fondo es un poco distractor para el texto de la conversación en el centro de la página (el área principal de contenido).

Me gustaría que el área central principal (main-outlet), donde se desarrolla el texto y las discusiones, tuviera una opacidad del 0% en el centro exacto, mostrando solo un fondo blanco, y luego aplicar algún tipo de gradiente que aumente gradualmente la opacidad de mi fondo hasta el 100%, lo que mostraría el fondo alrededor de todos los bordes.

Así es como se ve actualmente mi fondo… con una opacidad del 100%, en toda la página…

Esto es lo que me gustaría que ocurra…
Me gustaría que el área general (no tiene que ser exacta), delimitada en rojo, tuviera mi fondo con una opacidad del 0%, dejando así el fondo blanco predeterminado completamente visible. (No lo sé, pero esto podría requerir una superposición de gradiente horizontal bi-lineal sobre mi fondo que vaya desde #FFFFFF (blanco) en el centro hasta transparente en los bordes)

Aquí hay un ejemplo de cómo me gustaría que se viera la página…

Puedo lograr esto :up_arrow:︎ usando una imagen de fondo que no sea un SVG, pero quedaba muy granulada. Quería imágenes de alta calidad como fondo, así que actualmente estoy usando el SVG.

Si alguien tiene alguna idea sobre cómo podría hacer estos ajustes, ¡me encantaría escuchar sus opiniones!

¿Quizás @Johani o @awesomerobot puedan aconsejar aquí?

Exacto, una superposición de gradiente es probablemente el mejor enfoque… puedes definir dos fondos a la vez de esta manera:

body {
 background: radial-gradient(circle at center, rgba(255,255,255,1) 35%, rgba(255,255,255,0)) fixed, url(https://forums.pickleballist.com/uploads/default/original/1X/b7df60bb8a3fd1584f393dee365865ca83e4906e.svg) center top / 300px auto  ;
 background-attachment: fixed;
}

O si solo quieres este gradiente de fondo en las páginas de temas y no en otras páginas (como perfiles, listas de temas, etc)… podrías colocar el patrón en body, y luego el fondo con gradiente encima en .archetype-regular #main-outlet { }

¡Kris! Eso funcionó de maravilla (¡ve la imagen a continuación)! ¡Muchas gracias por la respuesta tan rápida!

Una pregunta más… desde el punto de vista de las mejores prácticas y la eficiencia, ¿es esta la mejor manera de lograr lo que quiero hacer? ¿Es esta la solución más “ligera” y eficiente? ¿O sería mejor tener una imagen estática que no se repita, o alguna otra solución, para lograr lo que intento hacer usando menos recursos/ancho de banda, etc.?

Mi suposición es que un patrón repetitivo con un degradado de CSS sería el mejor enfoque… Una imagen estática probablemente sería significativamente más grande, y descargar un archivo más grande probablemente tiene un impacto mayor que cualquier otra cosa (sin duda consumiría más ancho de banda que el CSS que crea el degradado).