J'ai une balise dans mon html comme ceci:
<h1>My Website Title Here</h1>
En utilisant css, je veux remplacer le texte par mon logo actuel. J'ai le logo sans problème via le redimensionnement de la balise et la mise en place d'une image d'arrière-plan via css. Cependant, je ne sais pas comment me débarrasser du texte. J'ai déjà vu cela avant en poussant le texte hors de l'écran. Le problème est que je ne me souviens pas où je l'ai vu.
Réponses:
C'est une façon:
Voici une autre façon de masquer le texte tout en évitant l'énorme boîte de 9999 pixels que le navigateur créera:
la source
Pourquoi ne pas simplement utiliser:
la source
color: transparent;
fonctionne avecuser-select: none;
, sauf si vous remplacez la couleur.Ajoutez simplement
font-size: 0;
à votre élément qui contient du texte.la source
La manière la plus conviviale pour tous les navigateurs consiste à écrire le code HTML sous la forme
puis utilisez CSS pour masquer la plage et remplacer l'image
Si vous pouvez utiliser CSS2, il existe de meilleures façons d'utiliser la
content
propriété, mais malheureusement, le Web n'est pas encore à 100%.la source
Masquer le texte en gardant à l'esprit l'accessibilité:
En plus des autres réponses, voici une autre approche utile pour masquer du texte.
Cette méthode masque efficacement le texte, tout en lui permettant de rester visible pour les lecteurs d'écran. Il s'agit d'une option à considérer si l'accessibilité est un problème.
Il convient de noter que cette classe est actuellement utilisée dans Bootstrap 3 .
Si vous êtes intéressé à lire sur l'accessibilité:
Initiative d'accessibilité Web (WAI)
Documentation d'accessibilité MDN
la source
Jeffrey Zeldman suggère la solution suivante:
Il devrait être moins gourmand en ressources que
-9999px;
Veuillez tout lire ici:
http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/
la source
Voir mezzoblue pour un joli résumé de chaque technique, avec ses forces et ses faiblesses, ainsi que des exemples html et css.
la source
Tant de solutions compliquées.
Le plus simple est simplement d'utiliser:
la source
vous pouvez simplement masquer votre texte en ajoutant cet attribut:
la source
!important
clause est réellement nécessaire dans votre cas. Dans mon cas, cela a bien fonctionné sans lui aussi.Ne pas utiliser
{ display:none; }
Cela rend le contenu inaccessible. Vous voulez que les lecteurs d'écran voient votre contenu et le stylisent visuellement en remplaçant le texte par une image (comme un logo). En utilisanttext-indent: -999px;
ou une méthode similaire, le texte est toujours là - mais pas visuellement là. Utilisezdisplay:none
et le texte a disparu.la source
Ce qui précède fonctionne bien également dans le dernier Thunderbird.
la source
vous pouvez utiliser la
background-image
propriété css etz-index
vous assurer que l'image reste devant le texte.la source
z-index
s'applique à labackground-image
.Pourquoi n'utilisez-vous pas:
Si vous n'avez aucun élément span ou div, cela fonctionne parfaitement pour les liens.
la source
La réponse est de créer un span avec la propriété
{display:none;}
Vous pouvez trouver un exemple sur ce site
la source
Il s'agit en fait d'un domaine propice à la discussion, avec de nombreuses techniques subtiles disponibles. Il est important que vous sélectionniez / développiez une technique qui réponde à vos besoins, notamment: lecteurs d'écran, combinaisons images / css / script on / off, référencement, etc.
Voici quelques bonnes ressources pour démarrer sur la voie des techniques de remplacement d'image standardistes:
http://faq.css-standards.org/Image_Replacement
http://www.alistapart.com/articles/fir
http://veerle.duoh.com/blog/links/#l-10
la source
Utilisez la balise Condition pour différents navigateurs et en utilisant CSS, vous devez placer
height:0px
etwidth:0px
vous devez également placerfont-size:0px
.la source
Si le but est simplement de rendre le texte à l'intérieur de l'élément invisible, définissez l'attribut color sur 0 opacité en utilisant une valeur rgba telle que
color:rgba(0,0,0,0);
clean et simple.la source
Je ne me souviens pas où je l'ai ramassé, mais je l'utilise avec succès depuis des lustres.
Mon mixin est en vogue mais vous pouvez l'utiliser comme bon vous semble. Pour faire bonne mesure, je garde généralement une
.hidden
classe quelque part dans mon projet à attacher aux éléments pour éviter les doublons.la source
la source
Essayez ce code pour raccourcir et masquer le texte
ou pour masquer l'utilisation dans votre classe css
.hidetxt { visibility: hidden; }
la source
repalcez le contenu avec le CSS
la source
J'utilise habituellement:
la source
Si nous pouvons modifier le balisage, la vie peut être plus facile, il suffit de supprimer le texte et d'être heureux. Mais parfois, le balisage a été placé par du code JS ou nous ne sommes tout simplement pas autorisés à le modifier du tout, trop mauvais CSS s'est avéré être la seule arme mise à notre disposition.
Nous ne pouvons pas placer un
<span>
habillage du texte et masquer la balise entière. Soit dit en passant, certains navigateurs masquent non seulement les élémentsdisplay:none
mais désactivent également les composants à l'intérieur.Les deux
font-size:0px
etcolor:transparent
peuvent être de bonnes solutions, mais certains navigateurs ne les comprennent pas. Nous ne pouvons pas compter sur eux.Je suggère:
L'utilisation
overflow:hidden
renforce notre largeur et notre hauteur. Certains navigateurs (ne les nommeront pas ... IE ) peuvent lire la largeur et la hauteur au furmin-width
et à mesuremin-height
. Je souhaite empêcher l'agrandissement de la boîte.la source
L'utilisation de la valeur zéro pour
font-size
etline-height
dans l'élément fait l'affaire pour moi:la source
Pour masquer du texte en html, utilisez la propriété text-indent dans css
/ * pour le texte dynamique, vous devez ajouter un espace blanc, afin que votre CSS appliqué ne dérange pas. nowrap signifie que le texte ne passera jamais à la ligne suivante, le texte continue sur la même ligne jusqu'à ce qu'une
<br>
balise soit rencontréela source
L'une des façons d'y parvenir est d'utiliser
:before
ou:after
. J'utilise cette approche depuis plusieurs années et fonctionne particulièrement bien avec les icônes vectorielles de glyphe.la source
Cela a fonctionné pour moi avec span (validation par élimination directe).
la source
Une solution qui fonctionne pour moi:
HTML
CSS
la source
La meilleure réponse fonctionne pour le texte court, mais si le texte s'enroule, il apparaît simplement dans l'image.
Une façon de le faire est de détecter les erreurs avec un gestionnaire jquery. Essayez de charger une image, si elle échoue, elle génère une erreur.
Voir EXEMPLE DE CODE
la source
la source