28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

je recherche une manière de sélectionner un texte non balisé pour en modifier la propriété display

Voici un exemple de ce que je veux faire


<body>
<a href="cible">Un lien à conserver</a> du texte à cacher <br>
<a href="cible">Un lien à conserver</a> encore du texte à cacher <br>
</body>


Je souhaite appliquer la propriété display:none; uniquement sur le texte de manière à pouvoir récupérer une liste avec seulement les liens de la page.

Est-ce qu'il y a un moyen d'appliquer cette propriété uniquement au texte sans balises ?

Merci pour votre aide Smiley smile
++
Modifié par tom_sawyer (09 May 2007 - 17:16)
Salut,

Ca me semble difficile.
Le texte "non" balisé en fait est balisé par les balises body. on peut donc jouer sur body. mais alors là toutes les autres balises vont hériter de son comportement.

Peut-etre que si dans ta page tu n'as que des liens <a> bon là tu peux toujours appliquer visibility:hidden a body et l'inverse aux balises a. et si visibility marche pas tu peux jouer sur la couleur du texte.

a mon avis le plus simple c'est de baliser avec <span> le texte que tu veux effacé et mettre une classe sur ces span

pascal
Modifié par CPascal (09 May 2007 - 17:31)
Tu ne peux pas rajouter de balises au texte ou tu ne veux pas? Parce qu'avec un simple ajout de span, c'est vite fait...

edit: encore grillé... Smiley rolleyes
Modifié par Benjamin D.C. (09 May 2007 - 17:31)
ah bon? pourtant il est forcément dedans? bon il peut etre dans un div, un truc mais alors pour moi il est doublement,triplement,etc..ment balisé.
Modifié par CPascal (09 May 2007 - 17:33)
a écrit :
Tu ne peux pas rajouter de balises au texte ou tu ne veux pas? Parce qu'avec un simple ajout de span, c'est vite fait...


Surtout que le span a été prévu pour ce genre de chose ... Smiley fache
a écrit :
ah bon? pourtant il est forcément dedans? bon il peut etre dans un div, un truc mais alors pour moi il est doublement,triplement,etc..ment balisé.

non?


La balise a est de type inline elle nécessite donc d'être au sein d'un élément de type block mais ne peut se trouver directement dans le body (voir les spécifications xhtml ; en html c'est tout à fait valide).
Modifié par yodaswii (09 May 2007 - 17:35)
yodaswii a écrit :
La balise a est de type inline elle nécessite donc d'être au sein d'un élément de type block mais ne peut se trouver directement dans le body (voir les spécifications xhtml ; en html c'est tout à fait valide).
Oui effectivement, tu fais bien de le préciser. Smiley cligne
Administrateur
yodaswii a écrit :
ah bon? pourtant il est forcément dedans? bon il peut etre dans un div, un truc mais alors pour moi il est doublement,triplement,etc..ment balisé.

non?


La balise a est de type inline elle nécessite donc d'être au sein d'un élément de type block mais ne peut se trouver directement dans le body (voir les spécifications xhtml ; en html c'est tout à fait valide).
C'est interdit uniquement en XHTML 1.0 Strict.
Pour Transitional: body accepte un peu tout (%Flow pour être plus précis, qui contient entre autres les entités %block et %inline)
Bonjour et merci pour vos réponses,

pour préciser ma demande en fait l'objectif est de récupérer un contenu par un copié-collé. J'édite une page externe assez volumineuse au moyen de webdeveloppeur et cela me permet de trier les données en amont.


J'ai réussi à modifier l'affichage correctement avec

body {visibility:hidden;}
a {visibility:visible;}


Merci CPascal Smiley cligne
Le problème c'est que lors du copié collé, le texte masqué est également copié... Auriez-vous une solution via les CSS pour récupérer seulement les liens de la page ?

Merci encore pour l'aide
++
Modifié par tom_sawyer (09 May 2007 - 17:43)
yodaswii a écrit :
La balise a est de type inline elle nécessite donc d'être au sein d'un élément de type block mais ne peut se trouver directement dans le body (voir les spécifications xhtml ; en html c'est tout à fait valide).

Pour compléter ce qu'a dit Felipe :

Ne pas oublier que XHTML 1.0 n'est qu'une reformulation de HTML 4.0 en XML. Smiley smile

XHTML 1.0 n'est donc pas plus strict que HTML 4.0 au niveau des éléments autorisés et de leur imbrication. Les différences existent par contre entre les différents types de doctypes (strict/transitional/frameset).
Tellement l'habitude d'utiliser la DTD Strict que j'en oublie fréquemment les 2 autres (surtout la transitional puisque la frameset va "vite" disparaître avec la disparition des frames ...) Smiley confused
ré-essai la methode avec display:block sinon va falloir passer par les <span>

edit: au passage je lis tous les trucs sur les dtd avec intêret Smiley murf

@ yodaswii oui mais puisqu'il vont inventer une nouvelle sorte de frame?
arf mon anglais étant ce qu'il est j'ai pas encore vraiment été me renseigné sur ces xframes.
Modifié par CPascal (09 May 2007 - 17:59)
a écrit :
... sinon va falloir passer par les <span>


Le <span> aurait-il mauvaise haleine ou sentirait-il des pieds ??? Smiley biggol
Merci de votre intérêt Smiley smile

je suis en train d'essayer avec un span global en éditant le html de la source. Mais j'ai le même souci : lors du copié-collé le texte masqué avec display ou visibility est quand même copié dans le presse-papiers.

Merci d'avoir pris le temps de m'aider en tout cas !
Bonjour,

yodaswii a écrit :

La balise a est de type inline elle nécessite donc d'être au sein d'un élément de type block mais ne peut se trouver directement dans le body (voir les spécifications xhtml ; en html c'est tout à fait valide).


Oui moi aussi je croyais ça, mais suite à une remarque de Laurent Denis et après avoir vérifier ben je me suis rendu compte que l'invalidité de l'inline en enfant direct de body ne se jouait pas entre les doctypes xhtml et html mais entre les caractères strict et transitionnel.

Donc si on est en XHTML 1.0 Transitional, alors :

<body>
Texte
</body>

ou bien

<body>
<span>Texte</span>
</body>


est valide

Et si on est avec la DTD HTML 4.01 Strict, alors dans ces deux cas ce n'est pas valide.
Modifié par Christian Le Bouler (09 May 2007 - 19:24)
Christian Le Bouler a écrit :
l'invalidité de l'inline en enfant direct de body ne se jouait pas entre les doctypes xhtml et html mais entre les caractères strict et transitionnel.
C'est ce qu'a dit Julien, non?