Bonjour! (oui encore moi, ne me huez pas,s'il vous plait)
Après quelques péripéties pour récupérer un thème wordpress et pouvoir le customiser via un thème enfant, je me retrouve face à de nouveaux problèmes:

1°)articles qui déborde du cadre
Tout est dans le titre, en plus une petite image pour que le problème soit bien clair:

Donc voilà...
En gros j'aimerais savoir pourquoi est-ce que mon article déborde du cadre.
Je vous mets le code html et css:

html:

<?php
get_header(); ?>
            <?php if(!is_category(5)){ ?>
    <div id="col21">
<?php } else { ?>
    <div id="wishlist">
<?php } ?>
                <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
<div class="entry">
            <div id="boxrond">
            <div id="post-<?php the_ID(); ?>">
                <div id="post-top"><h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Lien permanent vers <?php the_title(); ?>"><?php the_title(); ?></a></h2>
                <h4><?php the_time('j F Y'); ?> | <?php the_category(', ') ?> | <?php comments_popup_link('Aucun mot acidulé', '1 mot acidulé', '% mots acidulés'); ?></h4></div>
                <div id="article" class="post-content">
                    <?php the_content('Lire la suite »'); ?></div>
    </div></div></div>
        <?php endwhile; ?>
    <?php else : ?>
<div class="entry">
        <h2>Non Trouvé</h2>
        Désolé, mais vous recherchez quelque chose qui ne se trouve pas ici.
</div>
    <?php endif; ?> 
</div>
<?php
get_sidebar(); ?>
<?php get_footer(); ?>

css:

#col21{width:900px; margin-left:35px;}  
#boxrond {background: white;border: 2px solid #42A114;padding: 2px;-moz-border-radius: 10px;-webkit-border-radius: 10px;margin-top: 20px;}
#post-top{background:url(http://p3.storage.canalblog.com/39/03/1099925/88869660.gif) left no-repeat;margin-left: 10px;margin-top: 20px;}
#post-top h2{font-size: 25px;font-family: Bellota;margin-left: 20px;}
#post-top h2 a {text-decoration: none;color: #225A07;margin-left: 20px;}
#post-top h4 {margin-left: 30px;font-size: 12px;font-family: verdana;color: #666;}
#post-top h4 a {font-size: 12px;font-family: Verdana;text-decoration: none;color: #666;}
#article p{margin-top: 25px;font-family: verdana;font-size: 14px;margin-left: 5px;color: #666;}
#article{background:url(http://p4.storage.canalblog.com/41/97/1099925/90012342.jpg)right no-repeat;height:67px;margin:5px;}
.single .hentry {margin: 0;background:url(http://p3.storage.canalblog.com/39/03/1099925/88869660.gif) left no-repeat;}
#content .entry-title {color: #225A07;font-size: 25px;margin-left: 40px;font-family: bellota;font-style:normal;font-weight: normal;}
#post-top-single{margin-left:10px;margin-top:15px;}
#content h4{color: #666;font-size: 12px;font-family: verdana;margin-left: 30px;}
#post-top-single a {text-decoration: none;color: #666;font-size: 12px;font-family: verdana;}
.entry-content {
margin-top: 0px;
font-family: verdana;
font-size: 14px;
margin-left: 5px;
color: #666;
background: url(http://p4.storage.canalblog.com/41/97/1099925/90012342.jpg) right no-repeat;
height: 60px;
}

2°)(the last one)sidebar qui est en bas du listing d'article et à moitié rognée:

J'aimerais savoir pourquoi et comment faire pour la mettre à sa place, à côté du listing d'articles ET la rapprocher de ce dernier.

code html:

<div id="primary" class="widget-area" role="complementary">
            <ul class="xoxo">
            <div id="col22">
    <?php 
        if( is_category(2)|| (is_single() && in_category(2)) ){
        dynamic_sidebar('Sidebar illustrations');
        }
        if( is_category(3)|| (is_single() && in_category(3)) ){
        dynamic_sidebar('Sidebar Créations');
        }
        if( is_category(4)|| (is_single() && in_category(4)) ){
        dynamic_sidebar('Sidebar concours');
        }
 ?>
</div></div>

code css:

#col22{width:300px; margin-right:30px;}

Voilà en espérant avoir fournis toutes les informations nécessaires :)
Belle soirée!

13 réponses


caoua
Réponse acceptée

Humm, je comprend ton désarrois.

En effet, d'un côté, l'idée inconsciente véhiculée qui dit qu'il est simple de faire un site web avec un cms (en particulier wordpress ici) n'est pas totalement juste.
Je m'explique, pour un développeur, il est clair qu'un cms est l'outil qui simplifie la conception d'un site, cependant, pour quelqu'un qui ne connait pas l'html/css et php aussi bien qu'un développeur, l'outil cms ne sera pas une simplicité lorsque cette personne voudra sortir des sentiers battus qu'offre le cms (a savoir dans ton cas, customiser un thème wordpress).

Peut être serait il sage d'apprendre (enfin je ne suis pas forcément le mieux placé pour dire cela) le html/css correctement* (* c'est relatif bien entendu) et surtout comprendre comment le thème enfant fonctionne au niveau html/css et php.

D'un autre côté, c'est en forgeant que l'on devient forgeron comme on dit, alors bon, peut être de trouver son équilibre entre la théorie et la pratique ?!

Sinon et excuse moi d'avance de ne pas te rendre un vrai service en t'indiquant l'info suivante :
ton footer prend comme dimension en largeur, celle de son parent (probablement le body, a vérifier). En l'état, pour centrer ton image, il te suffit de mettre :

#footer {
    text-align: center;
    }

Ce qui centrera ton image dans ton div footer !
Mais après, cela n'est peu être pas judicieux suivant comment est conçu ton thème enfant que tu customises !?

Vu qu'à mon sens, je ne te rend pas service en t'indiquant l'info précédente, je m'arrêterai là en ne te donnant pas plus d'info. Pardonne moi si mon post est dérangeant.

caoua

Je te conseille d'intaller ce module sur firefox : http://getfirebug.com/

Tu pourras comprendre tes problèmes plus facilement et tu apprendras mieux que si on te faisait tout. =)

Bonne journée.

Poupette
Auteur

je l'ai déjà :)
mais justement, je ne sais pas quoi modifier. ou comment modifier (pour la sidebar par exemple)j'ai beau essayé ce que tu dis, ça ne marche pas :/ ou je m'y prend mal

Poupette
Auteur

Coucou!
Merci, effectivement pour le footer, c'était bien ça ^^
Il est vrai qu'il faut forger pour devenir forgeron. seulement, ça fait maintenant plus de deux mois que je forge sans arriver au résultat désiré. Donc je pense qu'un peu de théorie ne me ferais pas de mal ^^

Maintenant je ne veux pas qu'on me prenne mon thème en me modifiant tout ce qu'il y a à modifier et me le rendre tout beau tout propre. Je veux que l'on m'explique comment faire. Pour que je le fasse moi-même, et qu'ainsi je puisse assimiler en même temps tout ça ^^

Poupette
Auteur

plus que deux obstacles à surmonter donc ^^

ton deuxième problème doit venir d'un height fixe.
ton troisième problème peut venir :

  • d'une mauvais imbrication de t div :

    <!-- bonne imbriquation -->
    <div id="main>
    <div id="col-article>
    <div class="article"></div>
    <div class="article"></div>
    <div class="article"></div>
    </div>
    <div id="sidebar"></div>
    </div>

  • l'addition des marging+padding+largeur des colonnes est plus grande que la div qui les englobes.

Poupette
Auteur

Le problème de l'article est réglé, effectivement, le height était fixe.
Mais le problème de la sidebar persiste!

tu dois chercher du côté du paramètre «float» pour la sidebar afin qu'elle se retrouve sur le côté.
Voilà comme ça, je te donnes juste un indice et je ne fais pas à ta place le travail ;)
Courage

Poupette
Auteur

Merci ;)
Mais la sidebar est déjà en float:right. Seulement, elle est en float right par rapport au listing d'articles:

Je penche pour un problème de div. Mais j'ai beau chercher, je ne vois pas où j'ai rajouté ou enlevé une div qu'il fallait garder...

Regardes pas tes fichier php mais bien le code qu'affiche firebug. Une fois que tu auras trouvé clairement de structure, il te faudra regarder a chaque modification si ta page s'affiche correctement. A noté que je me souviens que pour chaque page, ce n'était pas exactement la même hiérarchie =^).

++

il y a peut être un

clear:both;

quelque part ?

Sinon, comme sous entend coloo, regardes la structure html de ta page en question (via la visualisation du code source de ta page interprétée par ton navigateur -par firebug ou afficher le code source-), puis regardes les css qui s'appliquent à chaque balise. N'oublies pas qu'il y a des notions d'héritage aussi des css d'une balise à une autre.
Bref, décortiques et comprends qu'est ce qui fait quoi sur tel et tel balise au niveau css et tu trouveras sans aucuns doutes ce qui cloche.

Je ne peux pas te dire mieux.

Bonne soirée/journée
caoua

Poupette
Auteur

Bonsoir!
Alors non pas de clear:both, mais une sombre histoire de margin-left et right qui en fait devaient être des float. En tout cas merci beaucoup pour votre aide, mon sujet est maintenant résolu ^^

Cool !
caoua