Comment puis-je donner texte ou une image d'un fond transparent en utilisant CSS Stack Overflow

Pour une simple couleur de fond semi-transparent, les solutions ci-dessus (CSS3 ou images bg) sont les meilleures options. Cependant, voulez faire quelque chose colombophile (par exemple l'animation, plusieurs arrière-plans, etc.), ou si vous ne voulez pas compter sur CSS3, vous pouvez essayer la « technique du volet »:







La technique fonctionne en utilisant deux « couches » à l'intérieur de l'élément de volet extérieur:

  • une (le « retour ») qui correspond à la taille de l'élément de vitre sans affecter le flux de contenu,
  • et une (la « suite ») qui contient le contenu et permet de déterminer la taille de la fenêtre.

La position: relative à volet est important; il dit couche arrière pour s'adapter à la taille de la fenêtre. (Si vous avez besoin

tag soit absolue, changer le volet à partir d'un

à un et envelopper tout cela dans une situation absolument

marque.)

Le principal avantage de cette technique a plus de ceux semblables dans la liste ci-dessus est que le volet ne doit pas être une taille spécifiée; comme code ci-dessus, il conviendra de grande largeur (de mise en page bloc-élément normal) et seulement aussi élevé que le contenu. L'élément de vitre extérieure peut être dimensionné comme vous s'il vous plaît, tant qu'il est rectangulaire (c.-à-inline-block travaillerez, en ligne-ancienne plaine ne sera pas).

En outre, il vous donne beaucoup de liberté pour l'arrière-plan; vous êtes libre de mettre vraiment quoi que ce soit dans l'élément arrière et avoir aucune incidence sur le flux de contenu (si vous voulez plusieurs sous-couches en mode plein écran, assurez-vous qu'ils ont aussi position: absolute, largeur / hauteur: 100%, et haut / bas / gauche / droite: auto).

Une variante permettant le réglage de l'insert de fond (via haut / bas / gauche / droite) et / ou de fond épinglage (via la suppression des paires gauche / droite ou haut / bas) est d'utiliser à la place le CSS suivant:

Comme il est écrit, cela fonctionne dans Firefox, Safari, Chrome, IE8 + et Opera, bien que IE7 et IE6 CSS nécessitent supplémentaire et expressions, IIRC, et la dernière fois que j'ai vérifié, la deuxième variante CSS ne fonctionne pas dans Opera.

Les choses à surveiller:

Et voici une démonstration en direct de la technique utilisée largement:







Le problème est que le texte a fait une opacité totale dans votre exemple. Il a une opacité totale dans la balise p, mais la balise p est juste semi-transparent.

Sinon, il ne sera pas possible.

Voici comment je le fais (il pourrait ne pas être optimale, mais il fonctionne):

Créez la div que vous voulez être semi-transparent. Donnez-lui une classe / id. Laissez-le VIDES, et fermez-le. Lui donner une hauteur de consigne et la largeur (par exemple, de 300 pixels par 300 pixels). Donnez-lui une opacité de 0,5 ou tout ce que vous aimez, et une couleur d'arrière-plan.

Ensuite, directement au-dessous div, créez un autre div avec une autre classe / id. Créer un paragraphe à l'intérieur, où vous placez votre texte. Donnez la position div: relative, et le haut: -295px (c'est NEGATIVE 295 pixels). Donnez-lui un z-index de 2 pour faire bonne mesure, et assurez-vous que l'opacité est 1. Style de votre paragraphe que vous le souhaitez, mais assurez-vous que les dimensions sont inférieures à celle de la première div il ne déborde pas.

C'est tout. Voici le code:

Cela fonctionne dans Safari 2.x, je ne sais pas sur Internet Explorer.

5, 5 tours utilisateurs 57%
paris ionescu

Bien que background-color est pris en charge par tous les principaux navigateurs (pas de nouvelles à CSS3) [1] l'alpha peut être difficile transparence, en particulier avec Internet Explorer avant la version 9 et couleur de la bordure sur Safari avant la version 5.1. [2]

En utilisant quelque chose comme Compass ou SASS peut vraiment aider la production et la compatibilité multi-plateforme.

CSS3 a une solution facile de votre problème. Utilisation:

Ici, rgba signifie rouge, vert, bleu et valeur alpha. La valeur verte est obtenue en raison de la transparence 255 et la moitié est obtenue par la valeur alpha de 0,5.

Si vous êtes un gars Photoshop, vous pouvez également utiliser:

Vous pouvez résoudre ce pour Internet Explorer 8 par (ab) en utilisant la syntaxe gradient. Le format de couleur est ARVB. Si vous utilisez le préprocesseur Sass, vous pouvez convertir les couleurs en utilisant la fonction intégrée « ie-hex-str () ».

Voici un exemple:

répondit le 14 septembre '14 à 19h21

Si vous utilisez moins. vous pouvez utiliser fondu (couleur, 30%).

répondit le 3 juin '15 à 07h28

alex
293K ● 146 ● 695 ● 857

Afin de rendre l'arrière-plan d'un élément semi-transparent, mais ont le contenu (texte - images) de l'élément opaque. Vous devez écrire le code CSS pour cette image et vous devez ajouter un attribut d'opacité appelée avec une valeur minimale. par exemple.

// moins la valeur plus sera la transparence, le minerai de la valeur moins sera la transparence.

répondit le 3 juin '16 à 12h09

C'est une façon de le faire dans les navigateurs modernes. Je combine avec les rgba comme solution de repli - Tahir Khalid 14 juillet '16 à 14h57

Oui correct. Ceci est l'une des façons de traiter avec les navigateurs modernes. - Pushp Singh 21 juillet '16 à 13:05

Il y a une solution plus facile à mettre une superposition sur une image sur le même div. Ce n'est pas la bonne utilisation de cet outil. Mais fonctionne comme un charme pour faire ce calque à l'aide CSS.

Utilisez une ombre incrustée comme ceci:







Articles Liés