Posso impostare l'immagine di sfondo e l'opacità nella stessa proprietà?


264

Posso vedere nei riferimenti CSS come impostare la trasparenza dell'immagine e come impostare un'immagine di sfondo . Ma come posso combinare questi due per impostare un'immagine di sfondo trasparente?

Ho un'immagine che vorrei utilizzare come sfondo, ma è troppo luminosa: mi piacerebbe ridurre l'opacità a circa 0,2. Come posso fare questo?

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

Risposte:


133

Due metodi:

  1. Converti in PNG e rendi l'immagine 0,2 opacità originale
  2. (Metodo migliore) hanno un <div>che è position: absolute;prima #maine la stessa altezza #main, quindi applicare l'immagine di sfondo e opacity: 0.2; filter: alpha(opacity=20);.

Sì, il grosso problema con un PNG è la dimensione. Probabilmente sarà davvero grande. Ora che possiamo specificare opacity: ...in tutti i browser, è molto meglio!
Alexis Wilke,

1
Saresti sorpreso di ciò che puoi spremere dal PNG. Ad esempio, con 0,2 opacità, probabilmente non sceglierai molti dettagli, quindi puoi convertirlo in Indexed-PNG. In realtà lo uso sul mio sito Web e riduce l'immagine di sfondo di 1920x1080 a dimensioni di poco meno di 250 kb.
Niet the Dark Absol,

È meglio aggiungere z-index: -1 a quella posizione: assoluto, per consentire l'utilizzo dei fondi sopra la sovrapposizione. Buona risposta.
Raz,

1
Puoi anche usare WebP: supporta la trasparenza e la dimensione del file è molto più piccola di PNG. Tutti i principali browser tranne Safari ora supportano WebP. Puoi servire WebP per supportare i browser e PNG per Safari.
Dan Roberts,

364
#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;
}

4
Contenuti generati da IE8 in su. caniuse.com/#feat=css-gencontent , usa la proprietà filter per IE8. caniuse.com/#search=opacity
Dan Eastwell,

3
Ho aggiunto un "indice z: -1" al CSS. In questo modo l'immagine di sfondo è influenzata dall'opacità, non dal resto del contenuto di #main
patrick

17
Uso :beforeinvece di :aftere quindi non devo manomettere il z-indexperché :beforefinisce automaticamente sotto i contenuti principali. (Attualmente testato su Chrome e FF.)
KajMagnus,

1
@KajMagnus Se lo fai, allora tutto ciò che non viene mostrato. Prova ad avere un'opacità di 1,0 e vedrai cosa intendo.
Jessica,

1
Se si ottiene un'immagine di sfondo ripetuta, potrebbe essere necessario / necessario aggiungere background-repeat: no-repeat; background-attachment: fixed; background-position: center;all'interno di #main: after {...} .
divieto di geoingegneria il

106

Soluzione con 1 div e nessuna immagine trasparente:

Puoi usare la funzione CSS3 multi-sfondo e inserire due sfondi: uno con l'immagine, un altro con un pannello trasparente su di esso (perché penso che non sia possibile impostare direttamente l'opacità dell'immagine di sfondo):

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/stackoverflow/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/stackoverflow/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/stackoverflow/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/stackoverflow/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/stackoverflow/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/stackoverflow/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/stackoverflow/img/apple-touch-icon.png) repeat 0 0;

Non puoi usarlo rgba(255,255,255,0.5)perché da solo è accettato solo sul retro, quindi ho usato gradienti generati per ciascun browser per questo esempio (ecco perché è così lungo). Ma il concetto è il seguente:

background: tranparentColor, url("myImage"); 

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


Funzionerà solo se lo sfondo è di colore solido, se hai PNG24 che è uno sfondo e vuoi che abbia opacità (ad esempio al passaggio del mouse), allora non funzionerà e dovrai usare il metodo pseudo-elemento , che in realtà è migliore poiché potrebbe essere utilizzato in IE 8 e versioni successive.
vsync,

66

Soluzione semplice

se è necessario impostare la sfumatura solo sull'immagine di sfondo :

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);

L'immagine si sposta leggermente verso l'alto. Ha una correzione?
HFR1994,

6
Puoi anche usare l'immagine di sfondo RGBA 255.255.255: gradiente lineare (verso il basso, rgba (255.255.255,0,6) 0%, rgba (255.255.255,0,6) 100%), url (IMAGE_URL);
Roman

@Roman È possibile impostare il componente colore rgba sul valore utilizzato come colore di sfondo nell'elemento o nel suo genitore incorporato (testato su Chrome 58.0.3029.81, Edge 38.14393.0.0).
collapsar

46

Ho visto questo e in CSS3 ora puoi inserire il codice in questo modo. Diciamo che voglio che copra tutto lo sfondo, farei qualcosa del genere. Quindi con hsla(0,0%,100%,0.70)o rgba usi uno sfondo bianco con qualsiasi percentuale di saturazione o opacità per ottenere l'aspetto che desideri.

.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;
}

2
L'aggiunta del colore di sfondo e della modalità di fusione dello sfondo mi ha aiutato. Ora ho un div con un'opacità che non influenza i suoi figli!
Diego Victor de Jesus,

1
questo è fantastico! Ho creato una funzione jquery per modificare l'opacità sullo scorrimento, creando un colore su un'immagine di sfondo mentre scorri verso il basso. $ (function () {$ (window) .scroll (function () {var scroll = $ (window) .scrollTop (); var current = 0; var now = (current-scroll) / 7; $ ('. slide ') .css (' background-position ', '50%' + now + 'px'); var color = Math.round (scroll / 7) / 100; $ ('. slide'). css ('background- color ',' rgba (128, 45, 87, '+ color +') ');});});
drooh,

10

È possibile utilizzare CSS psuedo selector :: after per raggiungere questo obiettivo. Ecco una demo funzionante.

inserisci qui la descrizione dell'immagine

.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>


4

Ho avuto un problema simile. Avevo un'immagine e volevo ridurre la trasparenza e avere uno sfondo nero dietro l'immagine. Invece di ridurre l'opacità o creare uno sfondo nero o qualsiasi div secondario, ho impostato un gradiente lineare sull'immagine tutto su una riga:

background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.8) 100%), url("/img/picture.png");


3

Ho usato la risposta di @Dan Eastwell e funziona molto bene. Il codice è simile al suo codice ma con alcune aggiunte.

.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;
}

2

Un ottimo modo per farlo per una semplice immagine è farlo usando solo CSS per impostare lo sfondo dell'elemento HTML in questo modo.

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

Se vuoi essere sofisticato e impostare la sua opacità, quindi, in IE9 + *, puoi impostare un colore di sfondo trasparente del corpo. Funziona sovrapponendo il bianco semitrasparente per rendere l'immagine più bianca e apparire più luminosa. Ad esempio, il bianco con il 75% di opacità ( rgba(255,255,255,.75)) produrrebbe il seguente effetto.

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>

  • Suggerimento: nota come è l'HTML position: relative, mentre il corpo è position: absolute. Questo per evitare che il colore di sfondo del corpo si comporti più come un evidenziatore del testo nel corpo.

Questo potrebbe persino essere esteso a qualcosa di paragonabile a, ma ancora molto distinto, dai filtri CSS cambiando attorno allo sfondo di colore RGBA del corpo. Ad esempio, rgba(0,255,0,.75)creerebbe una tinta molto verde come puoi vedere nello snippet di codice.

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>

  • Suggerimento: RGBA corrisponde a R ed G reen B lue A lpha. Quindi, il browser interpreta rgba(0,255,0,.75)qualcosa di esemplificato da {red:0, green:255, blue:0, alpha:'75%'}.


* Una tabella di compatibilità completa è disponibile in Can I Use. Tuttavia, tieni presente che devi fare clic su "Mostra tutto" per vedere che IE9 lo supporta.


appendice

Dato che ho già risposto alla domanda, ma ne desidero aggiungere di più, sto intitolando questo addendum di sezione e facendo in modo che aggiunga alcune informazioni potenzialmente utili. Quindi, per estrapolare ulteriormente il contenuto sopra, potresti usare un SVG come immagine di sfondo per fare cose fantastiche e malvagie. Ad esempio, è possibile creare uno sfondo della schermata di caricamento con un'icona del sito Web interessante, come si può vedere nell'esempio di un SVG codificato in base64 di seguito.

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>

  • Suggerimento: il background-size: coverCSS fa ridimensionare il logo SVG in background alla dimensione dell'elemento HTML.

1

Nel tuo CSS aggiungi ...

 filter: opacity(50%);

In JavaScript usa ...

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

NB: Aggiungi i prefissi del fornitore come richiesto, ma Chromium dovrebbe andare bene senza.


0

Bene, l'unico modo CSS di fare solo la trasparenza dello sfondo è tramite RGBama poiché vuoi usare un'immagine ti suggerirei di usare Photoshop o Gimp per rendere l'immagine trasparente e quindi usarla come sfondo.


Questo non è corretto, c'è una dichiarazione CSS3 opactiy: 1;:, non solo RGBa.
Kyle,

4
Quello che sta dicendo è impostare lo background-imagestile su un contenitore e quindi impostare uno opacitystile sullo stesso elemento. Ciò renderebbe anche trasparenti il ​​testo e gli altri contenuti di tale elemento. Prova questo se non mi credi: w3schools.com/Css/tryit.asp?filename=trycss_transparency

0

Ho appena aggiunto position = absolute, top = 0, width = 100% in #main e ho impostato il valore di opacità su #background

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

Ho applicato lo sfondo a un div prima del principale.


-1

Mi sono imbattuto in questo post perché avevo lo stesso problema, quindi ho pensato perché pasticciare con i CSS, regolando i valori e colpendo l'aggiornamento quando puoi facilmente regolare l'opacità in Photoshop? Copia l'immagine, incollala come nuovo livello, quindi sposta il cursore dell'opacità.


2
ArtB ha capito bene con l'ultima nota. Questa è una soluzione perfettamente valida per un altro problema. Ci sono momenti in cui questa non è la soluzione giusta e questa è una di queste.
jon

-1

Ho avuto un problema simile e ho appena preso l'immagine di sfondo con Photoshop e ho creato un nuovo .png con l'opacità di cui avevo bisogno. Problema risolto senza preoccuparsi se il mio CSS ha funzionato su tutti i dispositivi e browser

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.