utilizando transparente transparencia texto sobre pero opaco opacidad imagen fondo div contenido con color capa css

transparente - opacidad imagen de fondo css



CSS: establecer imagen de fondo con opacidad? (14)

Por lo tanto, puedo ver en las referencias de CSS cómo establecer la transparencia de la imagen y cómo establecer una imagen de fondo . Pero, ¿cómo puedo combinar estos dos para establecer una imagen de fondo transparente?

Tengo una imagen que me gustaría usar como fondo, pero es demasiado brillante, me gustaría reducir la opacidad a aproximadamente 0,2. ¿Cómo puedo hacer esto?

#main { background-image: url(/wp-content/uploads/2010/11/tandem.jpg); }


Solución simple

Si necesita establecer el gradiente a la imagen de fondo solamente:

background-image: url(IMAGE_URL); /* fallback for older browsers */ background-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.6) 100%), url(IMAGE_URL);


Acabo de agregar position = absolute, top = 0, width = 100% en #main y establezco el valor de opacidad en #background

#main{height:100%;position:absolute; top:0;width:100%} #background{//same height as main;background-image:url(image URL);opacity:0.2}

Apliqué el fondo a un div antes del principal.


Bueno, la única forma CSS de hacer solo la transparencia de fondo es a través de RGBa pero como quiere usar una imagen, sugeriría usar Photoshop o Gimp para hacer la imagen transparente y luego usarla como fondo.


Dos métodos:

  1. Convierte a PNG y realiza la opacidad de la imagen original 0.2.
  2. (Mejor método) tiene un <div> que es position: absolute; antes de #main y la misma altura que #main , luego aplique la imagen de fondo y la opacity: 0.2; filter: alpha(opacity=20); opacity: 0.2; filter: alpha(opacity=20); .

En su CSS agregue ...

filter: opacity(50%);

En uso de JavaScript ...

element.style.filter=''opacity(50%)'';

NB: agregue prefijos de proveedor según sea necesario, pero Chromium debería estar bien sin él.


He usado la respuesta de @Dan Eastwell y funciona muy bien. El código es similar a su código pero con algunas adiciones.

.granddata { position: relative; margin-left :0.5%; margin-right :0.5%; } .granddata:after { content : ""; display: block; position: absolute; top: 0; left: 0; background-image: url("/Images/blabla.jpg"); width: 100%; height: 100%; opacity: 0.2; z-index: -1; background-repeat: no-repeat; background-position: center; background-attachment:fixed; }


Me encontré con esta publicación, ya que tenía el mismo problema, entonces pensé ¿por qué meterse con css, ajustar los valores y hacer clic en actualizar cuando puedes ajustar fácilmente la opacidad en Photoshop? Copie la imagen, péguela como una nueva capa y luego mueva el control deslizante de opacidad.


Puedes usar CSS psuedo selector :: after para lograr esto. Aquí hay una demostración de trabajo.

.bg-container{ width: 100%; height: 300px; border: 1px solid #000; position: relative; } .bg-container .content{ position: absolute; z-index:999; text-align: center; width: 100%; } .bg-container::after{ content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index:99; background-image: url(https://i.stack.imgur.com/Hp53k.jpg); background-size: cover; opacity: 0.4; }

<div class="bg-container"> <div class="content"> <h1>Background Opacity 0.4</h1> </div> </div>


Solución con 1 div y NO imagen transparente:

Puede usar la función CSS3 de múltiples fondos y colocar dos fondos: uno con la imagen, otro con un panel transparente sobre él (porque creo que no hay manera de establecer directamente la opacidad de la imagen de fondo):

background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%), url(bg.png) repeat 0 0, url(https://cdn.sstatic.net//img/apple-touch-icon.png) repeat 0 0; background: -moz-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net//img/apple-touch-icon.png) repeat 0 0; background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.7)), color-stop(100%,rgba(255,255,255,0.7))), url(https://cdn.sstatic.net//img/apple-touch-icon.png) repeat 0 0; background: -webkit-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net//img/apple-touch-icon.png) repeat 0 0; background: -o-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net//img/apple-touch-icon.png) repeat 0 0; background: -ms-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net//img/apple-touch-icon.png) repeat 0 0; background: linear-gradient(to bottom, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net//img/apple-touch-icon.png) repeat 0 0;

No puede usar rgba(255,255,255,0.5) porque solo se acepta en la parte posterior, por lo que usé gradientes generados para cada navegador para este ejemplo (por eso es tan largo). Pero el concepto es el siguiente:

background: tranparentColor, url("myImage");

http://jsfiddle.net/pBVsD/1/


Tuve un problema similar y simplemente tomé la imagen de fondo con photoshop y creé un nuevo .png con la opacidad que necesitaba. El problema se resolvió sin preocuparse por si mi CSS funcionaba en todos los dispositivos y navegadores


Una excelente manera de hacerlo para una imagen simple es hacerlo usando solo CSS para establecer el fondo del elemento HTML como tal.

HTML { background: url(''http://www.earthtimes.org/newsimage/eat-lead-by-example-obesity-expert-tells-parents_139.jpg''); width: 100%; height: 100%; }

Si desea obtener fantasía y configurar su opacidad, entonces, en IE9 + *, puede establecer un color de fondo transparente del cuerpo. Esto funciona al superponer el blanco semitransparente para hacer que la imagen sea más blanca y parezca más brillante. Por ejemplo, el blanco con una opacidad del 75% ( rgba(255,255,255,.75) ) produciría el siguiente efecto.

HTML { background: url(''http://www.earthtimes.org/newsimage/eat-lead-by-example-obesity-expert-tells-parents_139.jpg''); width: 100%; height: 100%; position: relative; } body { width: 100%; min-height: 100%; position: absolute; top: 0; left: 0; margin: 0; background: rgba(255, 255, 255, .75); }

<p>Lorem ipsum dolor sit amet, et id, maecenas a convallis, elit facilisi congue augue id ac. Suscipit luctus egestas rutrum, amet tincidunt porttitor ante convallis magna, vivamus amet at turpis, ante lacinia blandit vel metus mauris rutrum. Ipsum nam adipiscing. Est sapien quis sem vestibulum, quis cubilia turpis, suspendisse mattis vehicula enim risus pede, placerat suspendisse dui. Convallis nostrud pede, mollit lobortis, ornare ipsum tempor faucibus tortor, vel pede, porttitor nulla nonummy vestibulum purus. Eros placerat tenetur augue ipsum aliquam, pellentesque congue condimentum sed vitae lectus.</p> <p>Aliquam venenatis curabitur pellentesque sociosqu quam. Tincidunt id erat vestibulum in, est fermentum ipsum et augue, nascetur etiam. Lorem elit, sed donec, leo vivamus ac id enim faucibus vel. Nullam sit feugiat sed massa consectetuer auctor, nulla et erat lacinia nec, eget ut ante nullam est non in, elit porttitor in in donec eget porttitor. Interdum ultricies sem morbi facilisis nibh erat. Id suspendisse, sed tincidunt fringilla sit, sapien odio vel, at culpa augue sed taciti neque inceptos, massa class non. Vel tristique condimentum at pellentesque, commodo nulla sagittis rhoncus lorem. Viverra maecenas tellus pretium urna mauris proin, vel libero morbi, ante volutpat vestibulum augue. Itaque leo mauris turpis, vivamus nisl congue nisl nulla in turpis, eget vitae accumsan dolor ipsum leo venenatis, feugiat vehicula in risus, donec eu pede vivamus itaque nam. Justo amet vitae pellentesque sed, posuere fusce sapien, sed nam placerat libero sed etiam curabitur, suspendisse justo, amet porttitor.</p> <p>Condimentum eget. Sem elementum a et mauris sem a, velit justo consectetuer in turpis mauris, sit sed elit cum, fusce suspendisse pretium dictum, mattis dui tortor tellus. Volutpat ut ante lorem nec laoreet aliquam, lorem est magna amet, integer mauris purus tellus. Porta enim repellendus aliquam eros. Turpis posuere elementum suscipit wisi lobortis, nec nunc consequat dictum ut unde at, mi lorem amet nunc. Cubilia pede, integer dolor, eget platea felis elit enim rhoncus, integer proin quam in ipsum lorem, diam curabitur netus pretium pellentesque. Donec rutrum ultrices placerat, curabitur maecenas, feugiat pede varius accumsan quam lorem, dui et dictumst asperiores nulla, vivamus urna nam leo libero. Posuere non convallis amet justo parturient, imperdiet consectetuer arcu praesent cursus risus, quis pretium dolor.</p>

  • Consejo: observe cómo el HTML es position: relative , mientras que el cuerpo es position: absolute . Esto es para evitar que el color de fondo del cuerpo se comporte más como un resaltador del texto en el cuerpo.

Esto podría incluso expandirse a algo comparable, pero aún muy distinto de los filtros CSS, cambiando el fondo de color RGBA del cuerpo. Por ejemplo, rgba(0,255,0,.75) crearía un tinte muy verde como se puede ver en el fragmento de código.

HTML { background: url(''http://www.earthtimes.org/newsimage/eat-lead-by-example-obesity-expert-tells-parents_139.jpg''); width: 100%; height: 100%; position: relative; } body { width: 100%; min-height: 100%; position: absolute; top: 0; left: 0; margin: 0; background: rgba(0,255,0,.75); }

<p>Aliquam venenatis curabitur pellentesque sociosqu quam. Tincidunt id erat vestibulum in, est fermentum ipsum et augue, nascetur etiam. Lorem elit, sed donec, leo vivamus ac id enim faucibus vel. Nullam sit feugiat sed massa consectetuer auctor, nulla et erat lacinia nec, eget ut ante nullam est non in, elit porttitor in in donec eget porttitor. Interdum ultricies sem morbi facilisis nibh erat. Id suspendisse, sed tincidunt fringilla sit, sapien odio vel, at culpa augue sed taciti neque inceptos, massa class non. Vel tristique condimentum at pellentesque, commodo nulla sagittis rhoncus lorem. Viverra maecenas tellus pretium urna mauris proin, vel libero morbi, ante volutpat vestibulum augue. Itaque leo mauris turpis, vivamus nisl congue nisl nulla in turpis, eget vitae accumsan dolor ipsum leo venenatis, feugiat vehicula in risus, donec eu pede vivamus itaque nam. Justo amet vitae pellentesque sed, posuere fusce sapien, sed nam placerat libero sed etiam curabitur, suspendisse justo, amet porttitor.</p> <p>Condimentum eget. Sem elementum a et mauris sem a, velit justo consectetuer in turpis mauris, sit sed elit cum, fusce suspendisse pretium dictum, mattis dui tortor tellus. Volutpat ut ante lorem nec laoreet aliquam, lorem est magna amet, integer mauris purus tellus. Porta enim repellendus aliquam eros. Turpis posuere elementum suscipit wisi lobortis, nec nunc consequat dictum ut unde at, mi lorem amet nunc. Cubilia pede, integer dolor, eget platea felis elit enim rhoncus, integer proin quam in ipsum lorem, diam curabitur netus pretium pellentesque. Donec rutrum ultrices placerat, curabitur maecenas, feugiat pede varius accumsan quam lorem, dui et dictumst asperiores nulla, vivamus urna nam leo libero. Posuere non convallis amet justo parturient, imperdiet consectetuer arcu praesent cursus risus, quis pretium dolor.</p> <p>Lorem ipsum dolor sit amet, et id, maecenas a convallis, elit facilisi congue augue id ac. Suscipit luctus egestas rutrum, amet tincidunt porttitor ante convallis magna, vivamus amet at turpis, ante lacinia blandit vel metus mauris rutrum. Ipsum nam adipiscing. Est sapien quis sem vestibulum, quis cubilia turpis, suspendisse mattis vehicula enim risus pede, placerat suspendisse dui. Convallis nostrud pede, mollit lobortis, ornare ipsum tempor faucibus tortor, vel pede, porttitor nulla nonummy vestibulum purus. Eros placerat tenetur augue ipsum aliquam, pellentesque congue condimentum sed vitae lectus.</p>

  • Consejo: RGBA corresponde a R ed G reen B lue A lpha. Entonces, el navegador interpreta rgba(0,255,0,.75) como algo ejemplificado por {red:0, green:255, blue:0, alpha:''75%''} .


* Se puede encontrar una tabla de compatibilidad completa en Can I Use. Sin embargo, tenga en cuenta que debe hacer clic en "Mostrar todo" para ver que IE9 lo admite.


Apéndice

Ya que he respondido la pregunta pero tengo más que agregar, estoy titulando este anexo de la sección y le pido que agregue información potencialmente útil. Entonces, para extrapolar aún más el contenido anterior, puedes usar un SVG como imagen de fondo para hacer cosas increíbles. Por ejemplo, puede crear un fondo de pantalla de carga con un ícono de sitio web atractivo como puede ver en el ejemplo de un SVG codificado en base64 a continuación.

HTML { background: url(''data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiIgYXJpYS1oaWRkZW49InRydWUiPjxnIGlkPSJrIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImMiIGdyYWRpZW50VHJhbnNmb3JtPSJyb3RhdGUoLTEyMCkiIHRyYW5zZm9ybS1vcmlnaW49Ii41LjUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9InJnYmEoMCwwLDAsLjYpIi8+PHN0b3Agb2Zmc2V0PSI0NyUiIHN0b3AtY29sb3I9InJnYmEoMCwwLDAsLjYpIi8+PHN0b3Agb2Zmc2V0PSI1MyUiIHN0b3AtY29sb3I9InJnYmEoMCwwLDAsLjMpIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSJyZ2JhKDAsMCwwLC45KSIvPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9ImdyYWRpZW50VHJhbnNmb3JtIiBhdHRyaWJ1dGVUeXBlPSJYTUwiIHR5cGU9InJvdGF0ZSIgZHVyPSI3MDAwbXMiIGZyb209IjAiIHRvPSIzNjAiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+PC9saW5lYXJHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImQiIHI9Ii41IiBjeT0iLjUiIGN4PSIuNSI+PHN0b3Agb2Zmc2V0PSIzNSUiIHN0b3AtY29sb3I9ImJsYWNrIi8+PHN0b3Agb2Zmc2V0PSI1MCUiIHN0b3AtY29sb3I9ImdyZXkiLz48c3RvcCBvZmZzZXQ9IjY1JSIgc3RvcC1jb2xvcj0iYmxhY2siLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD0iZSIgcj0iLjUiIGN5PSIuNSIgY3g9Ii41Ij48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSJ3aGl0ZSIvPjxzdG9wIG9mZnNldD0iMjUlIiBzdG9wLWNvbG9yPSJ5ZWxsb3ciLz48c3RvcCBvZmZzZXQ9Ijc1JSIgc3RvcC1jb2xvcj0ieWVsbG93Ii8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSJ3aGl0ZSIvPjwvcmFkaWFsR3JhZGllbnQ+PGNsaXBQYXRoIGlkPSJmIj48cGF0aCBzdHJva2U9ImdyZXkiIHN0cm9rZS13aWR0aD0iLjAxIiBpZD0iYiIgZD0iTS43NS43MUEuMzEuMzEgMCAxIDEgLjc1LjMxTC42OS4zOEEuMjIuMjIgMCAxIDAgLjY4LjY2TC41Ni41N0wuNi41MUwuODIuNjh6TS42LjYzQS4xNC4xNCAwIDEgMSAuNjIuNDJMLjY2LjM5QS4xOS4xOSAwIDEgMCAuNjQuNjZ6TS41NS41OEEuMDcuMDcgMCAxIDEgLjU2LjQ2TC42LjQzQS4xMi4xMiAwIDEgMCAuNTkuNjF6Ii8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImciPjxwYXRoIHN0cm9rZT0iZ3JleSIgZmlsbD0icmVkIiBzdHJva2Utd2lkdGg9Ii4wMSIgZD0iTS42LjYzQS4xNC4xNCAwIDEgMSAuNjIuNDJMLjY2LjM5QS4xOS4xOSAwIDEgMCAuNjQuNjZ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PGcgY2xpcC1wYXRoPSJ1cmwoI2YpIiBmaWxsPSJ1cmwoI2MpIj48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmVkIiBjbGlwLXBhdGg9InVybCgjZykiLz48L2c+PGcgdHJhbnNmb3JtPSJzY2FsZSgxLjEpIiB0cmFuc2Zvcm0tb3JpZ2luPSIuNS41Ij48dGV4dD48dGV4dFBhdGggaHJlZj0iI2IiIGZvbnQtc2l6ZT0iLjY1JSIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgbGV0dGVyLXNwYWNpbmc9Ii0uNSUiIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPiBZT1VSIDx0c3BhbiBmaWxsPSJyZWQiPkVYQU1QTEUgV0VCU0lURTwvdHNwYW4+IExPR088L3RleHRQYXRoPjwvdGV4dD48L2c+PC9nPjwvc3ZnPg==''); width: 100%; height: 100%; position: relative; background-size: cover; } body { width: 100%; min-height: 100%; position: absolute; top: 0; left: 0; margin: 0; background: rgba(255,255,255,.5); }

<p>Condimentum eget. Sem elementum a et mauris sem a, velit justo consectetuer in turpis mauris, sit sed elit cum, fusce suspendisse pretium dictum, mattis dui tortor tellus. Volutpat ut ante lorem nec laoreet aliquam, lorem est magna amet, integer mauris purus tellus. Porta enim repellendus aliquam eros. Turpis posuere elementum suscipit wisi lobortis, nec nunc consequat dictum ut unde at, mi lorem amet nunc. Cubilia pede, integer dolor, eget platea felis elit enim rhoncus, integer proin quam in ipsum lorem, diam curabitur netus pretium pellentesque. Donec rutrum ultrices placerat, curabitur maecenas, feugiat pede varius accumsan quam lorem, dui et dictumst asperiores nulla, vivamus urna nam leo libero. Posuere non convallis amet justo parturient, imperdiet consectetuer arcu praesent cursus risus, quis pretium dolor.</p> <p>Lorem ipsum dolor sit amet, et id, maecenas a convallis, elit facilisi congue augue id ac. Suscipit luctus egestas rutrum, amet tincidunt porttitor ante convallis magna, vivamus amet at turpis, ante lacinia blandit vel metus mauris rutrum. Ipsum nam adipiscing. Est sapien quis sem vestibulum, quis cubilia turpis, suspendisse mattis vehicula enim risus pede, placerat suspendisse dui. Convallis nostrud pede, mollit lobortis, ornare ipsum tempor faucibus tortor, vel pede, porttitor nulla nonummy vestibulum purus. Eros placerat tenetur augue ipsum aliquam, pellentesque congue condimentum sed vitae lectus.</p> <p>Aliquam venenatis curabitur pellentesque sociosqu quam. Tincidunt id erat vestibulum in, est fermentum ipsum et augue, nascetur etiam. Lorem elit, sed donec, leo vivamus ac id enim faucibus vel. Nullam sit feugiat sed massa consectetuer auctor, nulla et erat lacinia nec, eget ut ante nullam est non in, elit porttitor in in donec eget porttitor. Interdum ultricies sem morbi facilisis nibh erat. Id suspendisse, sed tincidunt fringilla sit, sapien odio vel, at culpa augue sed taciti neque inceptos, massa class non. Vel tristique condimentum at pellentesque, commodo nulla sagittis rhoncus lorem. Viverra maecenas tellus pretium urna mauris proin, vel libero morbi, ante volutpat vestibulum augue. Itaque leo mauris turpis, vivamus nisl congue nisl nulla in turpis, eget vitae accumsan dolor ipsum leo venenatis, feugiat vehicula in risus, donec eu pede vivamus itaque nam. Justo amet vitae pellentesque sed, posuere fusce sapien, sed nam placerat libero sed etiam curabitur, suspendisse justo, amet porttitor.</p>

  • Sugerencia: La CSS de background-size: cover hace que el logotipo de SVG en el fondo se redimensione al tamaño del elemento HTML.

Vi esto y en CSS3 ahora puedes colocar código de esta manera. Digamos que quiero que cubra todo el fondo. Haría algo como esto. Luego, con hsla(0,0%,100%,0.70) o rgba, utiliza un fondo blanco con cualquier porcentaje de saturación u opacidad para obtener el aspecto que desea.

.body{ background-attachment: fixed; background-image: url(../images/Store1.jpeg); display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 1; background-color: hsla(0,0%,100%,0.70); background-blend-mode: overlay; background-repeat: no-repeat; }


Ya que no me gusta ni usar un png (probablemente más pesado que el jpg) ni un elemento adicional para establecer una opacidad y considerando que esto sería una mejora en la presentación, sugiero probar JPEG con canales alfa , una técnica que usa lienzo.

Tal vez podría ser una buena técnica para implementar, incluso si no sé si es aplicable en su caso específico.


#main { position: relative; } #main:after { content : ""; display: block; position: absolute; top: 0; left: 0; background-image: url(/wp-content/uploads/2010/11/tandem.jpg); width: 100%; height: 100%; opacity : 0.2; z-index: -1; }