Je veux une superposition de couleur sur cet élément d'en-tête. Comment puis-je faire cela avec CSS?
<header id="header">
<div class="row">
<div class="col-xs-12">
...
</div>
</div>
</header>
#header {
background: url(../img/bg.jpg) 0 0 no-repeat fixed;
height: 100%;
overflow: hidden;
color: #FFFFFF
}
Vous devez utiliser rgba pour superposer votre élément avec photos.rgba est un moyen de déclarer une couleur en CSS qui prend en charge la transparence alpha. vous pouvez utiliser .row
comme superposition comme ceci:
#header {
background: url(../img/bg.jpg) 0 0 no-repeat fixed;
height: 100%;
overflow: hidden;
color: #FFFFFF
}
.row{
background: rgba(39,62,84,0.82);
overflow: hidden;
height: 100%;
z-index: 2;
}
#header.overlay {
background-color: SlateGray;
position:relative;
width: 100%;
height: 100%;
opacity: 0.20;
-moz-opacity: 20%;
-webkit-opacity: 20%;
z-index: 2;
}
Quelque chose comme ça. Ajoutez simplement la classe overlay
à l'en-tête, évidemment.
Vous pouvez utiliser une bordure semi-transparente superthick négative ...
.red {
outline: 100px solid rgba(255, 0, 0, 0.5) !important;
outline-offset: -100px;
overflow: hidden;
position: relative;
height: 200px;
width: 200px;
}
<div class="red">Anything can be red.</div>
<h1>Or even image...</h1>
<img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.png?v=9c558ec15d8a" class="red"/>
Cette solution nécessite que vous connaissiez les dimensions exactes de l'objet couvert.
Utilisez plusieurs références sur l'élément et utilisez un dégradé linéaire en tant que superposition de couleur en déclarant que les arrêts de couleur de début et de fin sont identiques.
Notez que les couches d'une déclaration multi-arrière-plan sont lues de la même manière que leur rendu, de haut en bas. Placez donc votre calque en premier, puis votre image bg:
#header {
background:
linear-gradient(to bottom, rgba(100, 100, 0, 0.5), rgba(100, 100, 0, 0.5)) cover,
url(../img/bg.jpg) 0 0 no-repeat fixed;
height: 100%;
overflow: hidden;
color: #FFFFFF
}
Vous pouvez utiliser la fonction hue-rotate
dans la propriété filter
. C'est une mesure assez obscure cependant, vous devez savoir combien de degrés autour de la roue chromatique vous devez déplacer pour arriver à la teinte désirée, par exemple:
header { filter: hue-rotate(90deg); }
Une fois que vous avez trouvé la bonne teinte, vous pouvez combiner les fonctions brightness
et grayscale
ou saturate
pour trouver la bonne teinte, par exemple:
header { filter: hue-rotate(90deg) brightness(10%) grayscale(10%); }
La propriété filter
a un préfixe de vendeur dans Webkit. Le code final serait donc:
header { -webkit-filter: hue-rotate(90deg) brightness(10%) grayscale(10%); filter: hue-rotate(90deg) brightness(10%) grayscale(10%); }
Si le positionnement absolu ne vous dérange pas, vous pouvez positionner votre image d'arrière-plan, puis ajouter une superposition en utilisant l'opacité.
div {
width:50px;
height:50px;
background: url('http://images1.wikia.nocookie.net/__cb20120626155442/adventuretimewithfinnandjake/images/6/67/Link.gif');
position:absolute;
left:0;
top:0;
}
.overlay {
background:red;
opacity:.5;
}
Voir ici: http://jsfiddle.net/4yh9L/
Dans helpshift, ils utilisaient la classe home-page
comme
<div class="page home-page">...</div>
.home-page {
background: transparent url("../images/backgrounds/image-overlay.png") repeat 0 0;
background: rgba(39,62,84,0.82);
overflow: hidden;
height: 100%;
z-index: 2;
}
tu peux essayer pareil comme ça