J'ai un petit problème avec CSS et je n'arrive pas à trouver de solution. J'ai ce HTML
<div id="closelink">
<a href="">Close</a>
Click to close
</div>
Maintenant, je veux masquer le texte "Cliquez pour fermer" uniquement, sans cacher ni le div, ni le lien qu'il contient.
Cela peut-il être fait?
L'attribut visibility
peut être remplacé sur les éléments enfants, vous pouvez donc le faire:
<div id="closelink">
<a href="">Close</a>
Click to close
</div>
CSS:
#closelink {
visibility:collapse;
}
#closelink a{
visibility:visible;
}
Et le résultat est le suivant: http://jsfiddle.net/pavloschris/Vva84/
.closelink {
font-size: 0px;
}
.close-link a {
font-size: 12px;
}
Essayer
<div id="closelink">
<a href="">Close</a>
Click to close
</div>
#closelink {
position: relative;
left: -9999px;
}
#closelink a {
position: relative;
left: 9999px;
}
Cela fonctionne mais vous pouvez utiliser visibility:hidden
au lieu de visibility:collapse
Pour éviter que l'élément enfant ne se casse sur une nouvelle ligne (comme cela se produit avec la seule utilisation de visibilité: caché/réduit; et de visibilité: visible), et pour éviter de dessiner un bloc 9999px dans le navigateur (généralement mal vu car il ne s'agit pas d'un surcoût inutile), essayez cette:
<div id="closelink">
<a href="">Close</a>
Click to close
</div>
#closelink {
position: relative;
visibility: hidden;
}
#closelink a {
position: absolute;
left: 0;
top: 0;
visibility: visible;
}
Vous pouvez ajuster votre left: 0
valeur pour fournir un remplissage.
Il y a trois méthodes auxquelles je pourrais penser:
Un
<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
#parent{
opacity: 1;
}
.child{
opacity: 0;
}
</style>
</head>
<body>
<div id="parent">
dkjfdkf
<span class="child">Annoying text</span>
</div>
</body>
</html>
Deux
<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
#parent{
}
.child{
visibility: hidden;
}
</style>
</head>
<body>
<div id="parent">
dkjfdkf
<span class="child">Annoying text</span>
</div>
</body>
</html>
Trois
<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
#parent{
}
.child{
display: none;
}
</style>
</head>
<body>
<div id="parent">
dkjfdkf
<span class="child">Annoying text</span>
</div>
</body>
</html>
L'opacité est préférable si vous voulez que l'image soit toujours sur la page pour conserver la structure, mais vous ne voulez pas qu'elle soit visible. J'espère que cela vous a été utile.