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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Positionner des éléments dans un cellule de tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Positionner des éléments dans un cellule de tableau

n°1415653
Remy90
Posté le 28-07-2006 à 23:45:23  profilanswer
 

Bonjour,
Je souhaite positionner des éléments <DIV> dans une cellule de tableau <TD>... Et je ne sais pas comment m'y prendre...
J'ai essayé de positionner la <DIV> en relatif, ceci ne fonctionne pas (je pensais que le positionnement relatif se ferait par rapport à la <TD> )... :  
 
Si je met le style suivant, cela fonctionne sous Gecko mais pas sous MSIE
 

Code :
  1. td {
  2.       position : relative;   
  3.     }
  4.     div.ligneHaut {
  5.       position : relative; 
  6.       top : 5px;
  7.       left : 10px;
  8.     }
  9.     div.ligneBas {
  10.       position : relative; 
  11.       top : 10px;
  12.       left : -25px;
  13.     }
  14.   </style>


 
Voici ma page :
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html>
  4. <head>
  5.   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> </meta>
  6.   <meta http-equiv="Content-Style-Type" content="text/css"> </meta>
  7.   <meta http-equiv="Content-Language" content="fr"> </meta>
  8.   <title>Test</title>
  9.   <style type="text/css">
  10.     #divEnglobante {
  11.       width : 300px;
  12.       height : 100px;
  13.       overflow-y : scroll;
  14.       border : 1px solid purple;
  15.     }
  16.     table {
  17.       table-layout : fixed;
  18.     }
  19.    
  20.     td {
  21.       border : 1px solid red;   
  22.     }
  23.     div.divDeLaCellule {
  24.       overflow : hidden; /* Pour tronque le texte */
  25.     }
  26.     col.colonne1 {
  27.       width : 100px;     
  28.     }
  29.     col.colonne2 {
  30.       width : 50px;     
  31.     }
  32.     /* Ce qui suit :  
  33.        OK Gecko  
  34.        KO MSIE */
  35.     td {
  36.       position : relative;   
  37.     }
  38.     div.ligneHaut {
  39.       position : relative; 
  40.       top : 5px;
  41.       left : 10px;
  42.     }
  43.     div.ligneBas {
  44.       position : relative; 
  45.       top : 10px;
  46.       left : -25px;
  47.     }
  48.   </style>
  49. </head>
  50. <body>
  51. <div  id="divEnglobante" >
  52.    <table cellspacing=0  >
  53.      <colgroup>
  54.        <col class="colonne1"/> 
  55.        <col class="colonne2"/> 
  56.      </colgroup>
  57.      <tr>
  58.        <td>
  59.          <div class="divDeLaCellule">
  60.            <div class="ligneHaut" >je&nbsp;souhaite&nbsp;que&nbsp;ce&nbsp;texte&nbsp;soit&nbsp;tronque</div>
  61.            <div class="ligneBas" >je&nbsp;souhaite&nbsp;que&nbsp;ce&nbsp;texte&nbsp;soit&nbsp;tronque</div>
  62.          </div>
  63.        </td>
  64.        <td>
  65.          &nbsp;
  66.        </td>
  67.      </tr>
  68.      <tr>
  69.        <td>
  70.          <div class="divDeLaCellule">
  71.            <div class="ligneHaut" >je&nbsp;souhaite&nbsp;que&nbsp;ce&nbsp;texte&nbsp;soit&nbsp;tronque</div>
  72.            <div class="ligneBas" >je&nbsp;souhaite&nbsp;que&nbsp;ce&nbsp;texte&nbsp;soit&nbsp;tronque</div>
  73.          </div>
  74.        </td>
  75.        <td>
  76.          &nbsp;
  77.        </td>
  78.      </tr>
  79.      <tr>
  80.        <td>
  81.          <div class="divDeLaCellule">
  82.            <div class="ligneHaut" >je&nbsp;souhaite&nbsp;que&nbsp;ce&nbsp;texte&nbsp;soit&nbsp;tronque</div>
  83.            <div class="ligneBas" >je&nbsp;souhaite&nbsp;que&nbsp;ce&nbsp;texte&nbsp;soit&nbsp;tronque</div>
  84.          </div>
  85.        </td>
  86.        <td>
  87.          &nbsp;
  88.        </td>
  89.      </tr>
  90.      <tr>
  91.        <td>
  92.          <div class="divDeLaCellule">
  93.            <div class="ligneHaut" >je&nbsp;souhaite&nbsp;que&nbsp;ce&nbsp;texte&nbsp;soit&nbsp;tronque</div>
  94.            <div class="ligneBas" >je&nbsp;souhaite&nbsp;que&nbsp;ce&nbsp;texte&nbsp;soit&nbsp;tronque</div>
  95.          </div>
  96.        </td>
  97.       <td>
  98.          &nbsp;
  99.        </td>
  100.      </tr>
  101.    </table>
  102. </div>
  103. </body>
  104. </html>

mood
Publicité
Posté le 28-07-2006 à 23:45:23  profilanswer
 

n°1415675
AlphaZone
Posté le 29-07-2006 à 08:43:21  profilanswer
 

Peux-tu m'expliquer quel est l'interêt de mettre des div dans un tableau ? J'avoue que je calle...

n°1415694
Remy90
Posté le 29-07-2006 à 11:50:56  profilanswer
 

Bonjour,
 
Voici ce que je souhaite faire.
- Une DIV de hauteur fixe mais 'scrollable'.
- Dans cette DIV un tableau.
- Le scroll de la DIV permet de voir la totalité du tableau.
- Dans les cellules du tableau je souhaite pouvoir disposer un libellé (à partir du coin haut gauche) et un pictogramme (cadrer en bas à gauche de la cellule).
J'espère avoir été clair...
 
Je me suis donc dis que pour faire ceci il suffisait de mettre des DIV (une pour le texte et une pour le pictogramme) dans la cellule TD. De positionner celles ci en relatif.
Pour feinter (ou me croyant plus malin que les moteurs de rendus) j'ai forcé le positionnement de la TD en relatif. Cela fonctionne très bien sous Firefox mais pas sous MSIE, le tableau 'sort de la DIV'.
 
Merci.
Rémy.

n°1415697
mIRROR
Chevreuillobolchévik
Posté le 29-07-2006 à 11:56:43  profilanswer
 

mais ta table n a pas besoin d etre dans une div ...c est deja une div elle meme [:pingouino]
et pour un truc du genre  
ma phrase
mon image  
t as pas besoin de creer des divs supplementaires [:pingouino]

n°1415714
Remy90
Posté le 29-07-2006 à 12:35:43  profilanswer
 

mIRROR, peux tu modifier mon code pour régler le problème. Je ne vois pas comment procéder.
Merci.
Rémy.

n°1415715
mIRROR
Chevreuillobolchévik
Posté le 29-07-2006 à 12:41:11  profilanswer
 

Remy90 a écrit :

mIRROR, peux tu modifier mon code pour régler le problème. Je ne vois pas comment procéder.
Merci.
Rémy.


 
 
non
de rien
[:natas]

n°1415716
Remy90
Posté le 29-07-2006 à 12:47:07  profilanswer
 

Citation :

mais ta table n a pas besoin d etre dans une div ...c est deja une div elle meme [:pingouino]
et pour un truc du genre  
ma phrase
mon image  
t as pas besoin de creer des divs supplementaires [:pingouino]


 
mIRROR,
Heu... Des réponses comme ca je peux en faire des dizaines par jours...
En tout cas merci de ton secours...
Tes compétences en la matière m'ont beaucoup aider...
C'est quoi ton trip là ?
 
Rémy.

n°1415719
Hermes le ​Messager
Breton Quiétiste
Posté le 29-07-2006 à 12:53:26  profilanswer
 

On se calme tout le monde.
 
1) Il a besoin de son div pour le scroll car une table ou un td ne scroll pas (du moins pas chez tous les navigateurs).
2) Pour les autres questions, tu peux positionner les éléments à l'intérieur de tes cellules en absolute à condion bien sûr que la hauteur des cellules soient précisées.

n°1415721
Remy90
Posté le 29-07-2006 à 13:00:55  profilanswer
 

Merci Hermes...
Si je positionne les DIV à l'intérieur du TD en absolue, ceci 'explose' complètement le tableau..  :(  
 

Code :
  1. div.ligneHaut {
  2.       position : absolute; 
  3.       top : 5px;
  4.       left : 10px;
  5.     } 
  6.     div.ligneBas {
  7.       position : absolute; 
  8.       top : 10px;
  9.       left : -25px;
  10.     }


 
En fait mon code fonctionne très bien sous Gecko, mais je dois assurer la compatibilité...
Rémy.

n°1415722
Hermes le ​Messager
Breton Quiétiste
Posté le 29-07-2006 à 13:02:19  profilanswer
 

Remy90 a écrit :

Merci Hermes...
Si je positionne les DIV à l'intérieur du TD en absolue, ceci 'explose' complètement le tableau..  :(  
 

Code :
  1. div.ligneHaut {
  2.       position : absolute; 
  3.       top : 5px;
  4.       left : 10px;
  5.     } 
  6.     div.ligneBas {
  7.       position : absolute; 
  8.       top : 10px;
  9.       left : -25px;
  10.     }


 
En fait mon code fonctionne très bien sous Gecko, mais je dois assurer la compatibilité...
Rémy.


 
Au lieu des top et des left, utilise margin-top, margin-left. :o
 
Et fixe la hauteur de tes cellules...

mood
Publicité
Posté le 29-07-2006 à 13:02:19  profilanswer
 

n°1415723
Remy90
Posté le 29-07-2006 à 13:10:36  profilanswer
 

Merci Hermes...
 
Le problème est que je suis susceptible de pouvoir positionner plusieurs DIV dans la TD. Dans mon exemple j'en ai mis uniquement deux.
Avec margin, je ne vois pas comment positionner plusieurs DIV les unes par rapports aux autres, mêmes si elles sont flottantes.
As tu le temps de tester ma page dans Firefox et MSIE pour bien comprendre mon soucis...
 
PS : Concernant le 'on se calme', je n'étais pas énervé simplement 'agacé'  ;).  
 
Rémy.


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

  Positionner des éléments dans un cellule de tableau

 

Sujets relatifs
Comparer 2 tableau[FLASH/AMFPHP] Transférer un tableau vers un service PHP
survol de cellule[VBA-E] Gérer le changement de sélection d'une cellule
tableau horizontalgros probleme de tableau
Ajout d'une cellule dans table = plus dans le formRecherche de l'adresse d'une cellule
PHP/MSSQL: réaffichage contenu tableau sur page PHP 
Plus de sujets relatifs à : Positionner des éléments dans un cellule de tableau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR