28106 sujets

CSS et mise en forme, CSS3

Bonjour à tous
J’ai réalisé un Calendrier en PHP et je voudrais en fonction du nom de l’événement appliquer un style CSS mais je ne trouve pas comment faire.

Voir photo,

sur la premiere ligne il y a aucun CSS.
upload/1662028127-81169-capturedancran2022-09-01no12..png
et sur la deuxième lignes le CSS est appliquer manuellement.
upload/1662028142-81169-capturedancran2022-09-01no12..png

Merci à vous
Modifié par SIRIUS_NG (01 Sep 2022 - 12:55)
Bonjour,

Dans le code PHP qui génère le code html du calendrier, tu peux ajouter une classe css sur l'élément html en fonction du nom de l'événement.
Puis ajouter dans ta feuille de style les règles css pour cette classe.
[quote=Pitet]
Bonjour,
je sais pas comment dire dans mon code html / php que si le texte est = TEST 1, TEST 2, TEST 3 ou TEST 4, alors le CSS est différent.
Modérateur
Salut Sirius,

Est-ce que tu peux nous donner la partie de ton code qui écrit les "test 1" etc ? (enfin pas juste cette ligne quoi, la partie du code avec la boucle etc) Il devrait y avoir un nom de variable ou autre qui différencie tout ces texte autre que par leur contenu. De cette façon, dans la boucle on devrait pouvoir attribuer une classe différente à chaque conteneur comme le suggère Pitet.

Bonne aprem

<div class="row">
      <div class="col-xs-12">
        <div class="col-xs-1 case_grille_num_ligne hidden-xs">          
        </div>
        <?php
            foreach($month->days as $k => $day):
              $date = $start->modify("+" . ($k + $i * 7) . " days");
              $eventsForDay = $events[$date->format('Y-m-d')] ?? [];
              $isToday = date('Y-m-d') === $date->format('Y-m-d');
              ?>
        <div>
          <div class="col-xs-1 thumbnail btn-default case_grille">            
            <div class="btn-container">
              <a class="btn-rien modal_outils_bouton" href="../public/add.php?date=<?= $date->format('Y-m-d'); ?>">
                <small class="label pull-left visible-xs  <?= $isToday ? 'label-j' : 'label-default'; ?>"><?= $date->format('d/m'); ?></small>
              </a>
            </div>
            <div class="btn-container">
              <a class="btn-rien modal_outils_bouton" href="../public/add.php?date=<?= $date->format('Y-m-d'); ?>">              
                <small class="label pull-left hidden-xs <?= $isToday ? 'label-j' : 'label-default'; ?>"><?= $date->format('d'); ?> <?= $month_m->justMonth(); ?></small>
              </a>     

            </div>
            <div class="text-center case_grille_p">
            <?php foreach($eventsForDay as $event): ?>
              <a class="btn btn-rien bouton-journee" href="../public/edit.php?id=<?= $event->getId(); ?>">
              
                <strong><?= h($event->getName()); ?></strong>
              </a>
              <div class="text-muted horaires-journee">
                <?= $event->getStart()->format('H:i'); ?>
                <span> – </span>
                <?= $event->getEnd()->format('H:i'); ?>
              </div>
              <?php endforeach; ?>
            </div>
          </div>
          <?php endforeach; ?>
        </div>
      </div>
    </div>



_laurent a écrit :
Salut Laurent,

Voici le code

Bonne aprem

Modifié par SIRIUS_NG (01 Sep 2022 - 15:34)
Salut,

cela m'a l'air bizarre de voir un 31 février Smiley hum

Et sinon pour ton test il faut que tu rajoute un if en php, et du coup il faut voir à quel endroit tu appliques ta classe css.
J'ai l'impression que cela sera soit juste au niveau du strong et donc adapter cette ligne :
<strong><?= h($event->getName()); ?></strong>

Soit un poil plus haut au niveau du lien :
<a class="btn btn-rien bouton-journee" href="../public/edit.php?id=<?= $event->getId(); ?>">
Mathieuu a écrit :

Salut,
Pour 30, 31 c'est pour le mois Janvier, jai pas encore modifier le code pour ne pas les afficher sur le mois de Février,
Je pense comme toi pour, mais je sais pas trop comment faire.
Un exemple :

<?php
foreach ($eventsForDay as $event) : 
    $eventClass = '';

    if ($event->getName() === 'TEST 1') {
        $eventClass = 'ma-classe1';	
    } else if ($event->getName() === 'TEST 2') {
        $eventClass = 'ma-classe2';	
    }
    ?>
    <a class="btn btn-rien bouton-journee <?= h($eventClass); ?>" href="../public/edit.php?id=<?= $event->getId(); ?>">
        <strong><?= h($event->getName()); ?></strong>
    </a>
    <!-- ... -->
<?php endforeach; ?>
Meilleure solution
Pitet a écrit :

Ta solution fonctionne super bien, merci beaucoup pour ton aide.
upload/1662122241-81169-capturedancran2022-09-02no14..png


Modifié par SIRIUS_NG (02 Sep 2022 - 14:37)