Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Aug 22, 2010

CSS Playing Cards

CSS Playing Cards help you to create simple and semantic playing cards in (X)HTML.


  • cards.css is the main part and provides the styles for the cards
  • cards-ie.css is a tiny fix for IE < 9 to make a simple version work
  • cards-ie9.css is a fix for IE9
  • examples.html provides some example HTML
  • is this file
  • faces/ contains images for the faces

How to use it

Surrounding container

<div class="playingCards [fourColours|faceImages|simpleCards|inText|rotateHand]">

There needs to be a surrounding container with the class "playingCards" around all the cards. That container can also have other classes which serve as configuration options:

  • fourColours: Switches the default two colour deck with a four colour deck. (The colours of the German four colour deck will be different.)
  • faceImages: Switches the default dingbat symbols for faces with images. Note: Depending on the size of the card, you might need to adjust the image positioning of the faces in cards.css and the font-size in cards-ie9.css (search for "@change").
  • simpleCards: Switches the default multiple suits to one simple single big suit in the middle.
  • inText: Switches the size to something small enough to fit into normal text and also removes the inner bits.
  • rotateHand: Switches the hand to rotate and fan in a semi circle.

The back of a card

<[element] class="card back">*</[element]>

To make the cards smaller or bigger, just change the font-size in the main "card" class in cards.css (search for "@change").

The front of a card

<[element] class="card rank-[2|3|4|5|6|7|8|9|10|j|q|k|a] [diams|hearts|spades|clubs]">
    <[element] class="rank">[2|3|4|5|6|7|8|9|10|J|Q|K|A]</[element]>
    <[element] class="suit">&[diams|hearts|spades|clubs];</[element]>

Depending on the context, the main card element should either be an a (for selecting single cards), a label (for selecting multiple cards), an abbr (for making a card more accessible with a title), a div or a span (for pure representation or played cards), e.g.

<[a|label|abbr|div|span] class="card rank-a clubs" [href=""] [title=""]>
    <span class="rank">A</span>
    <span class="suit">&clubs;</span>
    [<input type="checkbox" [...] />] <!-- if in label -->

A joker

<[element] class="card joker [big|little]">
    <[element] class="rank">[+|-]</[element]>
    <[element] class="suit">Joker</[element]>

Different hands

<ul class="[table|hand|deck]">
        [<strong>] <!-- if selected -->
            ... card ...
  • table places the whole cards side by side.
  • hand places them side by side, but lets them overlap, so you will only see a part of each card. If the "rotateHand" option is enabled, you'll see the cards rotated in a semi circle.
  • deck places the cards on top of each other, so that you cannot see single cards but a pack.


The CSS is only intended to work in modern browsers (Firefox 3.6+, Opera 10+, Chrome, Safari, IE9). To make a basic version work in IE8, you need the provided cards-ie.css. And IE9 also needs a little fix, as provided in cards-ie9.css.



CSS Playing Cards help you to create simple and semantic playing cards in (X)HTML






No packages published