CSS Superposition de Couleurs sur l'Image Hover
J'ai essayé d'autres réponses, mais je n'ai pas de travailler mon jeu particulier. Je ne peux pas utiliser n'importe ul/li set ups, donc merci de ne pas suggérer que l'. Je vais essayer d'obtenir un légèrement transparent orange couche de montrer sur une image. Je ne peux pas utiliser le positionnement absolu, ce site est construit sur la base de 4 et est sensible.
Pour l'instant ce que j'obtiens est une couleur d'arrière-plan sous l'image au lieu de sur le dessus de cela. À l'origine, je voulais aussi avoir la barre verte de l'image fait en CSS, mais je ne pouvais pas faire ce travail. Je n'ai pas été capable de le faire fonctionner avec l'image comme arrière-plan pour un div, soit, comme je serais à la hauteur/largeur en pixels et que les pauses de la réactivité du bit.
Voici une image de ce que je suis en train de faire:
HTML
<div>
<div class="work-button">
<img class="work-hover" src="http://oi41.tinypic.com/118m6fn.jpg" alt="" />
<div class="work-sub">Web Design</div></div>
</div>
CSS
.work-button {
text-align: center;
margin: 7%;
}
.work-hover:hover {
background: rgba(229, 115, 37, 0.7);
transition: all 0.2s ease-in-out;
transform: scale(0);
border-radius: 20%;
}
.work-sub {
text-align: center;
font-family: "Candal", Verdana, sans-serif;
font-size: 1.5em;
color: #fff;
margin-top: -15%;
}
NOTE À PROPOS DE LA RÉPONSE
La réponse choisie dispose de ses bugs. Lorsque vous redimensionnez la page, la superposition n'est pas redimensionné. Au lieu de cela il va rester à la taille qu'il initialisés avec la page. Lorsque vous actualisez la page, encore une fois, il s'ajuste à nouveau. Ce n'est pas un problème pour les utilisateurs, mais en plus de quelque chose qui me dérange et serait un problème avec d'autres développeurs/employeurs de l'inspecter. Peu importe, merci encore Brandon Davis!
** Mise à JOUR **
De sorte qu'il semble que j'avais de l'appel de la onresize fonction deux fois, il était donc obéir à ce que la deuxième fonction est d'essayer de faire.
window.onresize = function () {
resizeWorkOverlays();
resizeSmallOverlays();
}
Si vous essayez d'utiliser cette fonction deux fois, ce la façon dont je l'ai eu à travailler. Je n'arrive pas à le répéter une troisième fois avec succès. Espérons que cette aide!
Dernière mise à JOUR août 07, 2014: Voir ce nouveau résultat de fonctionnement ici. depuis, j'ai opté pour un 100% CSS solution pour mon plane! Je vais poster le code ici bientôt.
OriginalL'auteur Jacquelyn Chastain | 2013-09-28
Vous devez vous connecter pour publier un commentaire.
C'est ce que je suis venu avec:
(UPDATE 3)
CSS
HTML
JavaScript
J'ai fini par l'utilisation de Javascript pour créer l'initiale de la hauteur et la largeur de la div. Basé sur la hauteur de l'image de sorte qu'il peut toujours être réactif. Il peut ne pas être la façon la plus élégante, mais il fonctionne.
Vous pouvez également envisager d'utiliser une image carrée et à arrondir les coins avec border-radius au lieu d'utiliser un "pré-formaté" de l'image. Puis le rayon des frontières sur la superposition va correspondre à l'image. Juste une pensée.
Mis à JOUR le Violon:
Violon
J'ai mis à jour ma réponse à l'aide de l'image que vous avez fourni, qui s'est avéré être très utile.
Hey c'est super utile, exactement ce que je cherche! Je vais avoir un moment difficile de la faire fonctionner sur ma page, pour quelque raison que... je peux voir qu'il fonctionne dans le violon, mais dans Chrome seulement l'image s'affiche et rien ne se passe, mais dans Firefox, l'image ne sera même pas les montrer...
J'ai pris mon fichier complètement en dehors et a essayé de voir si rien d'autre, j'ai eu était touchant. Je n'ai trouver qu'il est de travail-- un peu. Le décollage se présente comme une minuscule boîte assez grande pour le texte, et seulement quand j'ai passez la souris sur le coin en haut à gauche.
J'ai mis à jour mon post pour résoudre les problèmes que vous aviez. J'ai eu un "transform: scale(0)" dans le CSS qui a été rendu dans firefox. Comme pour le décollage montre seulement une petite zone de texte, assurez-vous que vous avez les bonnes classes en Javascript et cela devrait fonctionner. Si vous avez d'autres questions, veuillez me contacter.
OriginalL'auteur Brandon Davis
Je suis un peu confus quant à ce que vous essayez de faire, mais je peux vous aider avec une partie de votre question.
Vous pouvez faire un réactif de div avec une image d'arrière-plan CSS:
OriginalL'auteur Syren
Ajout d'une superposition de
div
(ou toute autre balise) à l'intérieur de.work-button
, après.work-hover
Je suis en supposant que vous souhaitez afficher sur planer
Puis ajoutez votre style de
.work-overlay
Violon: http://jsfiddle.net/KdnJQ/4/
Remarque: en Raison de votre image, de la formation, j'ai utilisé fixe la largeur et la hauteur de la superposition.
La page d'améliorer progressivement? Si oui, vous devriez envisager un JS solution (mise à jour de la superposition de largeur sur imageLoad et de la fenêtre.redimensionner)
Laissez-moi vous expliquer ce qu'était mon idée, pour rendre cela un peu plus clair. L'idée était, je pourrais prendre une cette image et appliquer des styles de calque pour elle au lieu d'utiliser une image, c'résultat dans le première image montrée ici. Lorsque vous planait au-dessus de la boîte, le vert de la section transparent permettrait d'élargir, le texte serait passer, et la superposition serait à son tour à l'orange, comme indiqué dans la deuxième image. C'est juste devenu un peu plus difficile que je le pensais et je ne suis même pas fait la moitié de mon site haha.
Je ne suis pas 100% sûr de ce que tu veux dire par améliorer progressivement. Je suis à l'aide de la Fondation du système de grille pour la réactivité.
vous pouvez simplement masquer l'incrustation sur l'écran plus petit des appareils, ils sont plus susceptibles d'être les appareils à écran tactile de toute façon (pas de souris, pas de pointage)
OriginalL'auteur rzr
Voulez-vous dire quelque chose de ce genre?
http://jsfiddle.net/Zf5am/699/
OriginalL'auteur OBV
Si vous pouvez changer votre conteneur extérieur (
.work-button
), être uninline-block
avecposition:relative
au lieu d'un bloc, vous pouvez ajouter une superposition de div avecposition: absolute
, et lui faire prendre les dimensions de la mère avecwidth: 100%; height: 100%
:http://jsfiddle.net/KdnJQ/5/
OriginalL'auteur bfavaretto