CSS : masquer un texte

  • Auteur de la discussion Auteur de la discussion 2dm
  • Date de début Date de début
WRInaute discret
Je cherche à modifier une fonction php ( highlight_file ), qui permet à la base de coloriser le code.
Ma modification consite à rajouter le numéro de ligne, que l'on peut masquer (éventuellement pour faire un copier-coller du code) puis réafficher.
Je le fais pour l'instant très simplement en utilisant les propriétés : display et visibility.
Le problème est que si le numéro de ligne disparait bien, celui-ci reste lorsque l'on fait une selection.
Donc :
- soit il faut utiliser une autre fonction pour "désactivé" la selection
- soit il faudrait que je sépare le code des numéros de lignes mais alors le problème se retrouverait dans le fait qu'une ligne de code peut être afficher sur plusieurs ligne de l'écran et qu'en cas de modification de la taille de la police par l'utilisateur cela complique grandement les chance de garder une cohérence entre le code et le numéro de ligne.

Si quelqu'un à une astuce, a vot' bon coeur :)
 
A
Anonymous
Guest
Une solution moins tordue est de modifier la ligne de commande qui affiche le résultat :wink:
Cherche dans le code que tu utilises l'endroit où il y a des sorties écran (print, echo) et mets en commentaire la portion de texte que tu ne veux pas afficher...
Pour mettre en commentaire utilise :
Code:
texte à afficher
/*texte non affiché*/
suite du texte à afficher
 
WRInaute discret
? lol ?
heu je ne crois pas que tu aies compris le problème :)
à moins que tu te sois mal exprimé ... auquel cas précise ta pensée parce que la je ne vois vraiment pas le rapport avec mon problème :)
A moins encore que ce soit moi qui me soit mal exprimé, ce qui est fort possible !
 
A
Anonymous
Guest
Non tu as raison, je me suis précipité...

Je recommence :D
si j'étais toi, je procèderais donc ainsi :
- tu crées une variable $affiche initialisée à 1;
- tu crées dans ton formulaire un bouton "copier le code" qui met $affiche à 0 (le hic c'est que la page se rechargera)
- si $affiche est à 1, tu affiches le n° de ligne et tu utilises dans la foulée un script JS pour transférer le contenu dans le clipboard
- si 0, pas d'affichage de n° de ligne..

c'est une idée :wink:
 
WRInaute discret
J'ai déja la possibilité d'afficher/masquer les lignes.
Mon problème est que même si je passe les numéro de ligne en :

Code:
visibility:hidden;
display: none;

les numéros de lignes disparraissent bien, mais lorsque je fais un "copier" sur une selection du code puis un "coller" dans un editeur de texte les numéros de lignes reviennent :/
 
A
Anonymous
Guest
ok, mais ce dont je te parle n'a rien à voir avec les css... le n° de ligne n'est carrément pas affiché..
 
WRInaute discret
ba quel est l'intérêt alors :)
Forcément si je n'affiche pas le numéro de ligne je rencontrerais pas de problème et je ne serais pas la :)

-> le but est de masquer/afficher les numéro de ligne sans recharger la page et de pouvoir selectionner puis copier le code sans que les numéros de lignes ne soient copiés eux-aussi.
 
WRInaute discret
bon après quelques tests 'space' (superpostion de 2 calques, tableau de position),
aucune solution ne me convenant j'ai choisi la solution de facilité.
J'ai remplacé les balises span des numéro de lignes par des boutons.
C'est pas vraiment approprié mais au moins lorsqu'on selectionne le code, le contenu du bouton n'est pas selectionné.
merci à marc974 pour son aide !
 
A
Anonymous
Guest
bah, je ne t'ai pas été d'un grand secours mais c'est l'intention qui compte comme on dit :wink:
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut