Changer l'ordre des divs flottants avec CSS

JSFIDDLE

Je veux changer l'ordre des divs flottants à une certaine taille de pixel.

À l'état par défaut ils ont tous les deux 50% de la largeur et ils sont à côté les uns des autres.

Ci-dessous 600px taille de l'écran (ou w/e n'a pas d'importance) je veux la deuxième div(rouge) flottent au-dessus de la première div(jaune).

Comment est-ce possible avec CSS seule solution?

HTML

<div class="yellow"></div>
<div class="red"></div>

CSS

.yellow {
    background: yellow;
    width: 50%;
    height: 300px;
    float:left;
}

.red {
    background: red;
    width: 50%;
    height: 300px;
    float:left;
}

@media screen and (max-width:600px) {
    .yellow {
        background: yellow;
        width: 100%;
        height: 300px;
        float:left;
    }

    .red {
        background: red;
        width: 100%;
        height: 300px;
        float:left;
    }
}

La solution que je veux c'est:

ROUGE DIV

JAUNE DIV

mais maintenant c'est:

JAUNE DIV

ROUGE DIV

source d'informationauteur vaskort