Je n'utilise pas CSS3. Je ne peux donc pas utiliser les attributs opacity
ou filter
. Sans utiliser ces attributs, comment puis-je rendre le background-color
transparent d'un div
? Cela devrait être un peu comme dans l'exemple de zone de texte lien . Ici, la couleur de fond de la zone de texte est transparente. Je veux faire la même chose, mais sans utiliser les attributs mentionnés ci-dessus.
L'opacité vous donne la transparence ou la transparence. Voir un exemple Fiddle here .
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* IE 8 */
filter: alpha(opacity=50); /* IE 5-7 */
-moz-opacity: 0.5; /* Netscape */
-khtml-opacity: 0.5; /* Safari 1.x */
opacity: 0.5; /* Good browsers */
Remarque: ce ne sont pas des propriétés CSS
Voir http://css-tricks.com/snippets/css/cross-browser-opacity/
Le problème avec opacity
est que cela affectera également le contenu, alors que souvent vous ne voulez pas que cela se produise.
Si vous voulez juste que votre élément soit transparent, c'est aussi simple que:
background-color: transparent;
Mais si vous voulez qu'il soit en couleurs, vous pouvez utiliser:
background-color: rgba(255, 0, 0, 0.4);
Ou définissez une image d'arrière-plan (1px
sur 1px
) enregistrée avec le droit alpha
.
(Pour ce faire, utilisez Gimp
, Paint.Net
ou tout autre logiciel d’image permettant de le faire.
Créez simplement une nouvelle image, supprimez l’arrière-plan et mettez-y une couleur semi-transparente, puis enregistrez-le au format png.)
Comme dit par René , la meilleure chose à faire serait de mélanger les deux, avec la rgba
en premier et l'image 1px
par 1px
comme solution de secours si navigateur ne supporte pas alpha:
background: url('img/red_transparent_background.png');
background: rgba(255, 0, 0, 0.4);
Voir aussi : http://www.w3schools.com/cssref/css_colors_legal.asp .
Démo : Mon JSFiddle
transparent est la valeur par défaut pour la couleur d'arrière-plan
De https://developer.mozilla.org/en-US/docs/Web/CSS/background-color
Pour définir la couleur de fond:
/* Hexadecimal value with color and 100% transparency*/
background-color: #11ffee00; /* Fully transparent */
/* Special keyword values */
background-color: transparent;
/* HSL value with color and 100% transparency*/
background-color: hsla(50, 33%, 25%, 1.00); /* 100% transparent */
/* RGB value with color and 100% transparency*/
background-color: rgba(117, 190, 218, 1.0); /* 100% transparent */
La discussion risque d’être un peu tardive, mais inévitablement, quelqu'un tombera sur ce message comme je l’ai fait. J'ai trouvé la réponse que je cherchais et je pensais publier ma propre version. Le JSfiddle suivant explique comment superposer des fichiers .PNG avec une transparence. La mention par Jerska de l'attribut de transparence pour le CSS de la div était la solution: http://jsfiddle.net/jyef3fqr/
HTML:
<button id="toggle-box">toggle</button>
<div id="box" style="display:none;" ><img src="x"></div>
<button id="toggle-box2">toggle</button>
<div id="box2" style="display:none;"><img src="xx"></div>
<button id="toggle-box3">toggle</button>
<div id="box3" style="display:none;" ><img src="xxx"></div>
CSS:
#box {
background-color: #ffffff;
height:400px;
width: 1200px;
position: absolute;
top:30px;
z-index:1;
}
#box2 {
background-color: #ffffff;
height:400px;
width: 1200px;
position: absolute;
top:30px;
z-index:2;
background-color : transparent;
}
#box3 {
background-color: #ffffff;
height:400px;
width: 1200px;
position: absolute;
top:30px;
z-index:2;
background-color : transparent;
}
body {background-color:#c0c0c0; }
JS:
$('#toggle-box').click().toggle(function() {
$('#box').animate({ width: 'show' });
}, function() {
$('#box').animate({ width: 'hide' });
});
$('#toggle-box2').click().toggle(function() {
$('#box2').animate({ width: 'show' });
}, function() {
$('#box2').animate({ width: 'hide' });
});
$('#toggle-box3').click().toggle(function() {
$('#box3').animate({ width: 'show' });
}, function() {
$('#box3').animate({ width: 'hide' });
});
Et mon inspiration initiale: http://jsfiddle.net/5g1zwLe3/ J'ai également utilisé Paint.net pour créer les PNG transparents, ou plutôt les PNG avec des BG transparents.