Cachez quelque chose avec CSS sans affichage: none ou JavaScript
Comment puis-je cacher la div sans l'aide de display:none
ou JavaScript?
Dans mon pays, beaucoup de Blackberry venir à la prise en charge de CSS désactivée (les sociétés de téléphonie mobile d'ici ne sont pas si bon pour les développeurs). J'ai un texte qui dit
<div class="BBwarn">
please activate your css support and a link
</div>
Je veux cacher qu'une fois que l'utilisateur active le support de CSS, mais je ne peux pas utiliser display:none;
parce qu'il est pris en charge uniquement dans BB firmware 4.6. C'est un site public et je ne peux pas faire tous mes visiteurs de mise à niveau.
Quelqu'un connait une solution à cela? J'espère que la question est plus facile à comprendre maintenant.
Mise à jour:
Merci à tous pour les réponses, mais je ne peux pas utiliser
- position:absolute
- débordement
parce qu'ils sont disponibles à partir de Blackberry firmware 4.6 et
source d'informationauteur rblanch
Vous devez vous connecter pour publier un commentaire.
C'est une façon commune:
margin-left: -9999;
choses à essayer:
mais la vraie question est: pourquoi?
Ce qui vous fait penser à
display: none
n'est pas pris en charge avant la version 4.6? Avez-vous tester, ou allez-vous par leur documentation?Je ne suis pas un mobile développeur, donc je vais juste par ce que j'ai glanées à partir de la documentation.
La Navigateur BlackBerry 4.6 Référence CSS en effet la mention "Disponibilité: BlackBerry® Device Software version 4.6 ou plus tard," pour l'affichage de la propriété, mais leur Navigateur BlackBerry 4.3 Contenu Du Guide Du Développeur indique que 4,3 déjà pris en charge une part très limitée de la version de la
display
de la propriété, y comprisdisplay: none
. Les Versions avant la 4.3 ne prennent pas en charge ladisplay
bien (encore une fois, en passant par la Navigateur BlackBerry documentation du développeur).Pouvez-vous assumer vos utilisateurs, au moins, ont le firmware de la version 4.3, ou est-ce tout aussi inacceptables en supposant qu'ils ont 4.6?
Avez-vous tout simplement essayé de réglage de la largeur et de la hauteur à zéro? Je ne suis pas familier avec le BlackBerry (Navigateur), mais je suis sceptique face à assumer la prise en charge de CSS est moins que parfaite, certainement pas dans les anciennes versions. Je ne serais pas surpris si cela a fonctionné:
Mais alors
width
etheight
sont uniquement pris en charge sur tous les éléments à partir de la version 4.3. Avant qu'ils ne pourraient être appliqués aux<button>
et<img>
étiquettes et quelques<input>
types (selon la documentation).Alors peut-être la façon la plus sûre de vraiment le faire fonctionner sur tous les BlackBerry versions de firmware est d'utiliser une image pour l'avertissement, et utiliser les CSS pour définir sa largeur et sa hauteur à zéro.
Si une image n'est pas une option en raison de lozalization questions ou alors, peut-être), un vilain hack peut-être pour spécifier un vide illégal et/ou de l'image source et de mettre le texte de l'avertissement dans le
alt
attribut. Je ne sais pas si le réglage de la largeur et de la hauteur à zéro serait encore cacher que le texte alt, puis.Pourquoi ne pas essayer de le simple:
Je ne vois pas pourquoi ça ne marcherait pas.
Je ne suis pas sûr de l'pourcentages dont vous parlez qui sont à l'aide de < 4.6, mais si c'est important pour toi, alors je peux voir une justification pour accepter que vous ne pouvez pas plaire à tout le monde tout le temps, et un niveau acceptable en cascade solution à ce devrait être réalisable. Probablement avec un lien pour expliquer les avantages de la mise à niveau et permettant des feuilles de style css.
BTW - vous feriez mieux de vous assurer que vous utilisez css est bon si vous dites à quelqu'un pour l'allumer... 🙂
D'ailleurs, c'est ce que je fais pour précharger les images, ce qui est agréable car il n'utilise pas de javascript.
Visibility:hidden de ne pas faire la même chose parce que certains navigateurs sont intelligents et ne sera pas à la demande, à moins qu'il pense de son réellement visible.
Comment sur:
Qui doit cacher la DIV, (notez qu'il sera encore été rendue, mais être invisible, cela signifie qu'il va prendre de l'espace dans le document comme s'il était visible, mais être invisible (contrairement à display:none; où la div ne seront pas rendus)).
Vous pourriez position qu'il est absolument hors de l'écran.
Mais moi aussi je ne suis pas un développeur mobile.
visibility: hidden;
de travail, mais l'espace occupé pardiv
apparaît toujours. Si vous allez utiliser le négatifleft-margin
méthode, n'oubliez pas que vous aurez besoin de mettre de l'objetposition
àabsolute
.Je suppose que Vous ne voulez pas utiliser de JavaScript car le Blackberry ne le supporte pas.
Ce sujet si vous ne l'opposé et affiche le bloc de code JavaScript, plutôt que d'essayé de le cacher?
C'est un peu un hack, mais ne serait pas afficher le texte avec des désactivé JavaScript...
Quel est exactement le problème avec (mentionnée plus haut)
largeur: 0
hauteur:0
visibility: hidden
largeur: 0 altitude:0 visibility: hidden
...Ne fonctionne pas toujours avec le firmware 2.2 et plus. Parfois, vous pouvez obtenir un élément à être caché, mais il réapparaît avec certaines touches du clavier (comme le trait de soulignement, par exemple).
Ou vous pouvez utiliser s'il vous Plaît activer Javascript
Et utiliser une image qui lit "Activer CSS" et le style à l'aide de "display:none".
De sorte que lorsque la fonction correspondante est activée ces mises en garde l'habitude de se présenter.
Sinon, je suppose que vous utilisez un serveur de code côté? Vous pouvez essayer de détecter le plus fréquemment connu des plates-formes qui prennent en charge des versions spécifiques de css/javascript et de diffuser le contenu en conséquence. Vous pourriez même ne pas avoir à l'écrire vous-même.
J'ai eu un problème similaire quand j'ai essayé de personnaliser une zone de sélection à l'aide de javascript dans le BlackBerry Curve 8530 (OS 5.0). Mais, le menu créé ne pouvait pas être cachée, car le css propriétés suivantes ne fonctionnent toujours pas:
Et de détruire et recréer les éléments HTML ne fonctionne pas non plus, je suis arrivé ici et pourrait résoudre mon problème.
Je sais que ma réponse n'est pas exactement le sujet de la question soulevée ici, mais une fois que je suis arrivé ici quand a eu des problèmes, je pense que je ne suis pas la seule à qui s'est passé et se passe à.
De toute façon, même si ces propriétés css travaillé, ce que j'avais besoin d'un peu de code qui pourrait fonctionner sur la plupart des BB modèles.
Ma solution a été faite à l'aide des réponses trouvées ici. C'était simple. J'ai fait deux classes:
Oui. J'ai fait deux d'entre eux pour chaque type d'élément que j'ai eu dans ma page.
Initialement, toutes les classes sont définies à l'class="element_hidden", de sorte que lorsque la souris est au-dessus de la boîte de sélection de menu, toutes les classes sont modifiés class="élément" et ils sont affichés et masqués comme si elles étaient faites invisible/visible.
J'espère que cela peut être utile à quelqu'un! ;D
Vous pouvez faire quelque chose comme sage:
pour être plus précise, vous pouvez ajouter :