Avatar billede Slettet bruger
18. august 2008 - 14:50 Der er 15 kommentarer og
1 løsning

CSS Styling af comments.php (WordPress)

Hej,

Jeg skal bruge noget hjælp til at få stylet mine "kommentarbokse" pænt i WordPress. Resultatet jeg ønsker at komme frem til skal ligne det øverste eksempel på denne side: http://www.willmayo.com/2007/02/10/css-speech-bubbles/

Hvordan sætter jeg derfor min kode:

<?php if($comments) : ?>
<ol>
<?php foreach($comments as $comment) : ?>
<li id="comment-<?php comment_ID(); ?>">
<?php if ($comment->comment_approved == '0') : ?>
<p>Your comment is awaiting approval</p>
<?php endif; ?>
<?php comment_text(); ?>
<p class="meta"><?php comment_type(); ?> by <?php comment_author_link(); ?> on <?php comment_date(); ?> at <?php comment_time(); ?></p>
</li>
<?php endforeach; ?>
</ol>
<?php else : ?>
<p>No comments yet</p>
<?php endif; ?>

... op i nedenstående div'er:

<div class="bubble">
<blockquote>
<p>Works great for blog comments!</p>
</blockquote>
<cite><strong>John Smith</strong> on 1st January 2007 at 3:55pm</cite>
</div>

... CSS koderne ser således ud:

div.bubble {
    width: auto;
    font-size: 0.75em;
    margin-bottom: 24px;
}

div.bubble blockquote {
    margin: 0px;
    padding: 0px;
    border: 1px solid #c9c2c1;
    background-color: #fff;
}

div.bubble blockquote p {
    margin: 10px;
    padding: 0px;
}

div.bubble cite {
    position: relative;
    margin: 0px;
    padding: 7px 0px 0px 15px;
    top: 6px;
    background: transparent url(tip.gif) no-repeat 20px 0;
    font-style: normal;
}
Avatar billede jakobdo Ekspert
18. august 2008 - 15:28 #1
Måske noget i stil med:

<?php if($comments) : ?>
    <ol>
        <?php foreach($comments as $comment) : ?>
            <li id="comment-<?php comment_ID(); ?>">
                <div class="bubble">
                    <?php if ($comment->comment_approved == '0') : ?>
                        <p>Your comment is awaiting approval</p>
                    <?php endif; ?>
                    <blockquote>
                    <p><?php comment_text(); ?></p>
                    </blockquote>
                    <cite><p class="meta"><?php comment_type(); ?> by <strong><?php comment_author_link(); ?></strong> on <?php comment_date(); ?> at <?php comment_time(); ?></p></cite>
                </div>
            </li>
        <?php endforeach; ?>
    </ol>
<?php else : ?>
    <p>No comments yet</p>
<?php endif; ?>

Dog ganske utestet, da jeg ikke ejer en wordpress installation.
Avatar billede Slettet bruger
18. august 2008 - 18:31 #2
Hej jakobdo,

Jeg er faktisk kommet lidt længere med dette. Der er dog nogle enkelte ting som ikke vil styles ordentligt.

P.t. bliver det vist fint i mine grå bokse. Men vil gerne have at strengen ...

<cite><?php comment_author_link() ?> den <?php comment_date('F jS, Y') ?> kl. <?php comment_time() ?><?php edit_comment_link('Rediger','&nbsp;&nbsp;',''); ?></cite>

... i nedenstående eksempel bliver vist EFTER hver </li> boksen eller den grå boks? Den bliver stadig vist I boksen som det er nu selv om den er placeret efter </li>.

Ligeledes har jeg problemer med mit baggrundsbillede i CSS'en ...

background:#f4f4f4 url(http://www.creative.dk/designs/staldhoj/wp-content/themes/staldhoj/images/bg_commentlist.gif) bottom no-repeat;

... bliver cuttet af alt efter hvor meget teksten man skriver i kommentarfeltet (Altså alt efter hvor stor boksen er. Kan man undgå grafikken bliver cuttet?).

--------------------------------------------------------------
Min PHP kode:

<?php if($comments) : ?>

<p><?php comments_rss_link('Se kommentarer i RSS-format'); ?>&nbsp;&nbsp;</span><span id="trackback-link"> <a href="<?php trackback_url() ?>" rel="trackback">Trackback-adresse:</a></p></p>

<p><h4><?php comments_number('Der er ikke oprettet nogle kommentarer endnu. Vil du v&aelig;re den f&oslash;rste?','1 har skrevet en kommentar','% har skrevet en kommentar'); ?></h4></p>

<ul class="commentlist">
<?php foreach ($comments as $comment) : ?>
<li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>">
<div class="quote"><?php comment_text() ?></div>
<?php if ($comment->comment_approved == '0') : ?>
<em>Din kommentar afventer godkendelse.</em>
<?php endif; ?>
</li>
<cite><?php comment_author_link() ?> den <?php comment_date('F jS, Y') ?> kl. <?php comment_time() ?><?php edit_comment_link('Rediger','&nbsp;&nbsp;',''); ?></cite>
<?php
/* Changes every other comment to a different class */
$oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : '';
?>
<?php endforeach; /* end for each comment */ ?>
</ul>

<?php else : ?>
    <?php if(is_single()){?><p><h4>Der er ikke oprettet nogle kommentarer endnu. Vil du v&aelig;re den f&oslash;rste?</h4></p><?php } ?>
<?php endif; ?>

--------------------------------------------------------------
Min CSS

.commentlist .quote {
    background:url(http://www.creative.dk/designs/staldhoj/wp-content/themes/staldhoj/images/bg_quote.gif) no-repeat top right;
    line-height:16px;
    font-size:12px;}

.commentlist li {
    padding-top: 5px;
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: 22px;
    margin-top:10px;
    background:#f4f4f4 url(http://www.creative.dk/designs/staldhoj/wp-content/themes/staldhoj/images/bg_commentlist.gif) bottom no-repeat;
    color:#5a5a5a;
    }

.commentlist cite {
    display:block;
    font-style:normal;
    }
Avatar billede Slettet bruger
18. august 2008 - 18:32 #3
Hov, med hensyn til det baggrundsbillede som bliver cuttet var det i CSS'en:

background:url(http://www.creative.dk/designs/staldhoj/wp-content/themes/staldhoj/images/bg_quote.gif) no-repeat top right;
Avatar billede jakobdo Ekspert
18. august 2008 - 19:01 #4
Kan du ikke smide width og height med i css'en, som passer til billedet ?
Avatar billede Slettet bruger
19. august 2008 - 14:58 #5
Hvordan er det nu liige jeg sige billeder skal være x høj og x bred i css format?

.commentlist .quote {
background:url(http://www.creative.dk/designs/staldhoj/wp-content/themes/staldhoj/images/bg_quote.gif) no-repeat top right;}
Avatar billede w13 Novice
19. august 2008 - 14:59 #6
Du tilføjer bare f.eks.:

width:100px;
height:100px;
Avatar billede Slettet bruger
19. august 2008 - 15:06 #7
w13: Prøvede med dette men den skærer stadig i grafikken:

.commentlist .quote {
    background:url(http://www.creative.dk/designs/staldhoj/wp-content/themes/staldhoj/images/bg_quote.gif) no-repeat top right;
    width:69;
    height:52;
    line-height:16px;
    font-size:12px;}
Avatar billede w13 Novice
19. august 2008 - 15:12 #8
Du skal altid angive f.eks. px eller % efter værdierne i en width eller en height, ligesom i mit eksempel. Det vil dog ikke ændre på noget i Internet Explorer tror jeg, men andre browsere vil kræve det for at forstå, hvad du vil.
Avatar billede jakobdo Ekspert
19. august 2008 - 15:13 #9
Husk PX efter.

width: 69px;
height: 52px;
Avatar billede Slettet bruger
19. august 2008 - 15:30 #10
Ahh det glemte jeg lige. :)).. Eneste problem er at både tekst og billeder bliver skaleret ned nu i den størrelse hvor det kun er baggrundsbilledet jeg vil ha i størrelsen?

HTML:

<ul class="commentlist">
<?php foreach ($comments as $comment) : ?>
<li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>">
<div class="quote"><?php comment_text() ?></div>
<?php if ($comment->comment_approved == '0') : ?>
<em>Din kommentar afventer godkendelse.</em>
<?php endif; ?>
</li>
<cite><?php comment_author_link() ?> den <?php comment_date('j. F, Y') ?> kl. <?php comment_time() ?><?php edit_comment_link('Rediger','&nbsp;&nbsp;',''); ?></cite>
<?php
/* Changes every other comment to a different class */
$oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : '';
?>
<?php endforeach; /* end for each comment */ ?>
</ul>

CSS:

.commentlist .quote {
    background:url(http://www....../bg_quote.gif) no-repeat top right;
    width:69px;
    height:52px;
    line-height:16px;
    font-size:12px;}

.commentlist li {
    padding-top: 5px;
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: 22px;
    margin-top:10px;
    background:#f4f4f4 url(http://www....../bg_commentlist.gif) bottom no-repeat;
    color:#5a5a5a;
    }

.commentlist cite {
    display:block;
    font-style:normal;
    }
Avatar billede jakobdo Ekspert
19. august 2008 - 18:21 #11
Jeg forstår desværre ikke:

Eneste problem er at både tekst og billeder bliver skaleret ned nu i den størrelse hvor det kun er baggrundsbilledet jeg vil ha i størrelsen?

Har du et link til problemet ?
Avatar billede Slettet bruger
20. august 2008 - 23:00 #12
Jeg fandt selv en løsning på det. Der skulle åbenbart bare lidt css tweaking til som jeg efter lang tid fik til at lykkedes. ;) Beklager hvis jeg ikke var så god til at formulere hvad jeg ønskede at nå frem til med denne tråd. Sys selv det var lidt uklart og svært at beskrive. :)
Avatar billede jakobdo Ekspert
21. august 2008 - 06:33 #13
Så får du et svar.
Avatar billede Slettet bruger
21. august 2008 - 09:25 #14
Her kommer points. Tak for hjælpen. ;)
Avatar billede jakobdo Ekspert
21. august 2008 - 09:31 #15
Takker for point.
W13: Vil du have halvdelen ?
Avatar billede w13 Novice
21. august 2008 - 09:59 #16
Nej, det er i orden. :) Ellers tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester