Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème tableau width

Alignement

    20 mars 2018 à 14:25:22

    Bonjour,
    Après une longue recherche infructueuse sur l'internet et les forums j'en viens a votre aide, c'est rapide :

    ___________________________

    Problème ultrarapide (pour les gens forts) :

    Comment mettre une largeur maximum sur les cases d'un tableau ?
    (Voir mon code ci-dessous pour trouver la petite bête, max-width et overflow étant déjà essayés sur les balises <td>)
    ___________________________

    Problème détaillé (pour les curieux) :

    Dans mon cas, j'aimerais que l'en-tête de mon tableau de donnée reste en position:fixed en haut de la page quand je la scroll.
    Pour cela j'utilise une librairie js, pas de soucis, la seule contrainte étant que je dois séparer mon tableaux en deux parties pour ca :
    - La première partie constituée de l'en-tête qui restera collée en haut de page.
    - La deuxième partie constituée des données qui elles défilera normalement.
    Pour que "ce soit jolie comme tout", j'aimerais aligné les colonnes pour que les titres soient bien centré au dessus de ces dernières !
    Et la seule solution que j'ai trouvé serait de leurs affecter la même largeur de cellule. Or, elle ne fonctionne pas.

    Petit détail de type indice : Lors du chargement de la page, durant 0.5sec le tableau est parfaitement aligné. C'est seulement après ce chargement que les chaines de caractères forcent mon pauvre tableau.

    ___________________________

    Code Html : (Je n'utilise pas les balises code, car je viens de devoir tout réécrire sur un chargement de page a cause de je ne sais quoi)

    echo '<table class="tab">
       <tr class="tabtr">
       <th class="tabth">???</th>
       <th class="tabth">???</th>
       <th class="tabth">???</th>
       <th class="tabth">???</th>
       <th class="tabth">???</th>
       <th class="tabth">???</th>
       <th class="tabth">???</th>
       <th class="tabth">???</th>
       </tr></table>

       <table class="tab">';
       $compteurtab = 0;
       foreach($tableauResultat as $ligne)
       {   
        $compteurtab++;
        if ($compteurtab%2==1)
        {
           echo '<tr class="ligneimpair">';
        }
        elseif ($compteurtab%2==0)
        {
           echo '<tr class="lignepair">';
        }?>  
        <td class="tabtd"> <?php echo ??? ; ?> </td>
        <td class="tabtd"> <?php echo ??? ; ?> </td>
        <td class="tabtd"> <?php echo ??? ; ?> </td>
        <td class="tabtd"> <?php echo ??? ; ?> </td>
        <td class="tabtd"> <?php echo ??? ; ?> </td>
        <td class="tabtd"> <?php echo ??? ; ?> </td>
        <td class="tabtd"> <?php echo ??? ; ?> </td>
        </tr> <?php } ?> </table>


    J'ai mélangé php et html un peu pour rien, c'est vrai. (Les "???" correspondent a de vrais données, évidemment)

    ___________________________


    Code CSS :


    .tab {
     border-collapse: collapse;
     border: 1px solid black;
     width: 100%;
    }


    .tabth {
     border: 2px solid black;
     width: 10%;
     height: 60px;
    }


    .tabtd {
     width: 10%;
     height: 60px;
     text-align: center;
     border-left: 1px dotted grey;
     border-bottom: 1px solid black;
    }

    .lignepair {
    background-color: ???;
    }


    .ligneimpair {
    background-color: ???;
    }

    ___________________________

    Merci de votre aide ! :)

    • Partager sur Facebook
    • Partager sur Twitter
      21 mars 2018 à 14:20:06

      Coucou ! N'hésite pas a mettre ton code dans des balises pour que ce soit plus clair.

      Moi je procède de cette façon : 

      <table>
      <tr>
      <th>Info 1</th>
      <th>Info 2 avec plus </th>
      <tr>
      <th>Info 1 3</th>
      <th>Info 2 avec plus </th>
      <tr>
      </table>

      et pour le css : 

      table{
        border-style:solid;
      }
      
      th{  border-style:solid; width: 15%;}

      Je ne sais pas si ça répond à ta question ^^


      • Partager sur Facebook
      • Partager sur Twitter
        21 mars 2018 à 14:21:03

        Bonjour,

        Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention plus facilement.
        Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

        Pour plus d'informations, nous vous invitons à lire les règles générales du forum

        Merci d'utiliser les balises de code

        Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour celà, il faut utiliser le bouton Image . Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: c;">Votre code ici</pre>.

        Merci de modifier votre message en conséquence via le bouton "Modifier" situé sur son coin supérieur droit, sans quoi le sujet sera fermé.

        • Partager sur Facebook
        • Partager sur Twitter

        Pas d'aide concernant le code par MP, le forum est là pour ça :)

          9 avril 2018 à 10:35:15

          Mei a écrit:

          Coucou ! N'hésite pas a mettre ton code dans des balises pour que ce soit plus clair.

          Moi je procède de cette façon : 

          <table>
          <tr>
          <th>Info 1</th>
          <th>Info 2 avec plus </th>
          <tr>
          <th>Info 1 3</th>
          <th>Info 2 avec plus </th>
          <tr>
          </table>

          et pour le css : 

          table{
            border-style:solid;
          }
          
          th{  border-style:solid; width: 15%;}

          Je ne sais pas si ça répond à ta question ^^




          Bonjour, désolé pour la réponse tardive :)
          Je connais ces balises codes, sauf que quand je les utilise elles se placent automatiquement en premier dans mon commentaire et j'ai du mal a les manipuler mais j'essaierai d'y faire attention !
          Déjà essayé avec cette propriété, les cases font minimum 15% dans ton exemple mais si le texte est plus grand que la case elle s'aggrandira au dépit de ses voisines, non ?
          • Partager sur Facebook
          • Partager sur Twitter

          Problème tableau width

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown