Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1603 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  popup en css + validation w3c

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

popup en css + validation w3c

n°1491820
mobil12
Posté le 15-12-2006 à 14:00:44  profilanswer
 

hello

 

j'utilise sur mon site un mecanisme de faux popup dynamique.
le code css

 
Code :
  1. a:hover
  2.      {background: none;}
  3. a.link_show_popup 
  4.      {text-decoration: underline;}
  5. .popup_span_fix1
  6. { top: 220px;
  7. display: none;
  8. padding: 5px;
  9. left: 520px;
  10. width: 230px;
  11. border: 1px solid #999999;
  12. font-size: .85em;}
  13. a.link_show_popup:hover .popup_span_fix1
  14.        {display: inline; position: absolute;}
 

et la facon de l'appeler dans l'html

Code :
  1. '
  2. <a class="link_show_popup"
  3.   href="mon lien si il y en a un.">'.lien ouvrant.
  4.   <span class="popup_span_fix1>
  5.                         ca c'est la zone qui apparait quand je passe la souris sur le lien.
  6.                         </span>
  7. </a>';
 


tout fonctionne parfaitement . sur ie , ff et safari en tous cas et dans toutes les resolutions.
ceci de plus est parfaitement valide.

 

Maintenant imaginons que je veuille habiller un peu ma boite span.

Code :
  1. <span class="popup_span_fix1><h3>titre de la boite</h3><hr/>
  2.          contenu de la boite<hr/>pied de boite
  3.          </span>


 ce n'est plus valide et pour cause , je mets du block (h3, hr) dans du inline <span> (mais c'est un faux inline la!
alors j'ai pensé a remplacer span par div , mais le probleme reste puisque je mets du block dans du inline a nouveau ( div dans a ) , et de surcroit ca déconne avec ie

 

alors je pourrais imaginer sortir la boite span du a. mais toutes les propriétés css seront a revoir et je devrais faire  des liens au kilometres pour que le bon lien ouvre le bon span . pour l'instant , chaque lien ouvre le span caché qu'il contient. si il ne le contient plus je dois revor toutes les regles et dans un environnement dynamique (avec plusieurs liens ca devient injouable .

 

sur mon site pour que vous voyez ou je veux en venir ;
j'ai une page avec des morceaux de musiques: j'affiche les infos (provenant d'une bddsql) sur les morceaux dans un tableau. et entre autres dans ces infos il y a le titre du morceau, lequel est egalement un lien qui au survol ouvre le fameux faux popup contenant la description dudit fichier uniquement.

 

Qu'imaginez vous comme solution pour rester valide en faisant mes boites block dans un inline ?
je précise que je ne veux pas parler de javascript. premierement je n'y connais rien et deuxiemement le js pour ca c'est sortir le rouleau compresseur pour aplatir la pate a tarte. je ne suis pas adepte de ce genre de procédé.

 

merci .

 

edit : oublié ca dans le css a.link_show_popup:hover .popup_span_fix1


Message édité par mobil12 le 15-12-2006 à 14:11:22
mood
Publicité
Posté le 15-12-2006 à 14:00:44  profilanswer
 

n°1491832
boulax
Inserer phrase hype en anglais
Posté le 15-12-2006 à 14:24:22  profilanswer
 

Tu peux stocker tes div n'importe ou dans la page non ? Et les faire apparaitre en en position:fixed au bon endroit.

n°1491844
mobil12
Posté le 15-12-2006 à 14:38:44  profilanswer
 

boulax a écrit :

Tu peux stocker tes div n'importe ou dans la page non ? Et les faire apparaitre en en position:fixed au bon endroit.


 
oui absolument  
mais ca ne m'aiderait pas :  
 
je devrais dire que le lien 1 ouvre le div 1 ; lelien 2 le div 2 etc .  
 
ca va me multiplier les defs au kilo dans le css , et dans un environnement ou le nombre de liens n'est pas défini c'est impossible. Enfin possible mais terriblement fastidieux et maladroit .

n°1491847
boulax
Inserer phrase hype en anglais
Posté le 15-12-2006 à 14:41:53  profilanswer
 

Ah oui parce que tu veux pas utiliser de Javascript... :/

n°1491857
mobil12
Posté le 15-12-2006 à 14:48:21  profilanswer
 

boulax a écrit :

Ah oui parce que tu veux pas utiliser de Javascript... :/


 
c'est pas que je veux pas mais je n'ai pas de contrainte de rentablilité avec ce site , c'est juste un loisir, la progra ce n'est pas du tout mon metier .
j'ai commencé avec html puis css puis php puis sql et j"apprends au fur et a mesure . je ne suis pas pret pour passer au js , je prefere encore attendre et perfectionner ce que je sais , plutot que de coder en coup de copypaste sans comprendre ce que je fais . tu vois ?    
je me mettrai au js pour sur puisque avec ajax c'est l'avenir le présebt n  mais pas tout de suite , histoire de pas tout confondre.

n°1491861
boulax
Inserer phrase hype en anglais
Posté le 15-12-2006 à 14:50:35  profilanswer
 

Bah ce serait pourtant plus simple d'appeler une fonction avec un id en parametre et hop, tu ouvres la popup avec l'id correspondant.

n°1491864
mobil12
Posté le 15-12-2006 à 14:53:46  profilanswer
 

oui et ca marche  
 
mais ce n'est pas dynamique.  
imagine une liste d'id fournie par une bdd sql . la liste de lien est crée dynamiquement , je devrais donc par defaut copier par exemple 20* les classes dans le css. ca me parait maladroit.

n°1491868
boulax
Inserer phrase hype en anglais
Posté le 15-12-2006 à 14:59:02  profilanswer
 

mobil12 a écrit :

oui et ca marche

 

mais ce n'est pas dynamique.
imagine une liste d'id fournie par une bdd sql . la liste de lien est crée dynamiquement , je devrais donc par defaut copier par exemple 20* les classes dans le css. ca me parait maladroit.


gné ?
Bien sur que c'est "dynamique". Quoique tu sembles avoir ta propre définition de dynamique. Pourquoi avoir 20 classes ? Une seule classe CSS suffit. Apres en meme temps que tu génères ta liste de lien tu génères des liens du genre:

 
Code :
  1. <a onclick="show(id,x,y)">
 

Mais là c'est bien pour avoir x et y, le plus simple c'est de le déduire du x et y de ton lien ou de le déduire de la position du curseur de la souris.

 

Et ensuite ta fonction JS affecte les propriétés CSS, notamment le display:

 
Code :
  1. document.getElementById(i).style.display = 'inline';
 

et ça roule.


Message édité par boulax le 15-12-2006 à 14:59:42
n°1491873
mobil12
Posté le 15-12-2006 à 15:04:50  profilanswer
 

mhhh

 

je comprends pas vraiment (js je connais windowopen et c'est tout .)  , je vais essayer merci ca me parait assez simple .  effectivement la c'est dynamique mais parce que tu remplaces les classes hover par une fonction js

 

je dois comprendre qu'avec ca je n'ai plus besoin des definition de hovering dans le css n'est ce pas?


Message édité par mobil12 le 15-12-2006 à 15:08:19
n°1491875
boulax
Inserer phrase hype en anglais
Posté le 15-12-2006 à 15:08:26  profilanswer
 

liste de liens

Code :
  1. <a onclick=show('1')"> </a> <span class="truc" id="1"> </span>
  2. <a onclick=show('2')"> </a> <span class="truc" id="2"> </span>
  3. <a onclick="show('3')"> </a> <span class="truc" id='3'> </span>


 
UNE classe css

Code :
  1. .truc {
  2. display: none;
  3. }


 
et une fonction JS:

Code :
  1. function show(id)
  2. {
  3.     document.getElementById(id).style.display = "inline";
  4. }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  popup en css + validation w3c

 

Sujets relatifs
Validation W3C[Flash] popup et firefox
glut et fenetre popupRedirection automatique vers popup
[xHtml/CSS]Petit probleme validateur W3C[Javascript/PHP] Ouverture d'un popup dynamique
Afficher popup seulement POPUP avec PHP probleme de ID
[CVS] Faire relire avant validation 
Plus de sujets relatifs à : popup en css + validation w3c


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)