Search code examples
htmlcsssemantic-markup

should I use span tags or p tags?


I made this sketch in photoshop and I am converting it to HTML & CSS.

enter image description here

HTML:

<div class="pricebox">
    <p class="price">360kr</p>
    <p class="min">40 min</p>
    <p class="info green">Körlektion</p>
</div>

<div class="pricebox">
    <p class="price">1700kr</p>
    <p class="min">Riskutbildnig 2</p>
    <p class="info yellow">Halkan</p>
</div>  
<div class="pricebox">
    <p class="price">500kr</p>
    <p class="min">Riskutbildning 1</p>
    <p class="info red">Riskettan</p>
</div>  

CSS

body {
    font-family: "Myriad Pro",Myriad,"Helvetica Neue",Helvetica,Arial,sans-serif;
}
.pricebox {
    display:inline-block;
    border: 1px solid #EEEEEE;
    border-radius: 3px;
    width: 100px;
    height: 150px;
    margin: 5px;
}

.price{
    font-size: 28px;
    font-weight:300;
    color: #383838;
    padding: 11px;
}
.min {
    font-size: 11px;
    color: #909090;
    padding: 0 25px;
}
.info {
    height: 35%;
    margin-top: 15px;
    color: #EEEEEE;
    font-weight: 600;
    font-size: 11px;
}
.green{background-color: #a7d155;}
.yellow{background-color: #eada42;}
.red{background-color: #e54e4b;}

But I am kinda lost on how to structure everything up, should use span or div tag instead of p-tags.

Check this jsfiddle: http://jsfiddle.net/upas3/1/

Any ideas or solutions are welcome.


Solution

  • I would use DL list for each such block and UL list to group them together semantically:

    <ul>
        <li><dl>
            <dt>Körlektion</dt>
            <dd>360kr</dd>
            <dd>40 min</dd>
        </dl></li>
    
        <li><dl>
            <dt>Halkan</dt>
            <dd>1700kr</dd>
            <dd>Riskutbildnig 2</dd>
        </dl></li>
    
        <li><dl>
            <dt>Riskettan</dt>
            <dd>500kr</dd>
            <dd>Riskutbildning 1</dd>
        </dl></li>
    </ul>