JS を使用してもかまわない場合:
http://jsfiddle.net/77NwN/2/
HTML:
<div class="main">
<aside class="float">List of winners</aside>
<article>
<p>Here's the article</p>
<p>Article text that can wrap around <aside></p>
<p>Article text that can wrap around <aside></p>
</article>
</div>
CSS:
@media {
.main aside.float {
display:none;
}
}
@media (min-width:350px) {
.main aside.under {
display:none;
}
.main aside.float {
display:initial;
float:right;
width:28%;
}
}
JS:
window.onload=function(){
var aside=document.querySelector("div.main aside.float");
aside=aside.cloneNode(true);
aside.className="under";
document.querySelector("div.main").appendChild(aside);
};
使用しても構わない場合flexbox
:
(@dstorey に触発)
警告: Chrome 26 デスクトップおよび Firefox 21 デスクトップでのみテストされています。対応表/ MDN ガイド.
http://jsfiddle.net/77NwN/3/
HTML:
<div class="main">
<aside>List of winners</aside>
<article>
<p>Here's the article</p>
<p>Article text that can wrap around <aside></p>
<p>Article text that can wrap around <aside></p>
</article>
</div>
CSS:
@media {
.main aside {
float:right;
width:28%;
}
}
@media (max-width:350px) { /* notice I change min-width to max-width */
.main {
display:-webkit-flex;
display:flex;
-webkit-flex-direction:column;
flex-direction:column;
}
.main article {
-webkit-order:1;
order:1;
}
.main aside {
-webkit-order:2;
order:2;
float:initial;
width:initial;
}
}
JSは関係ありません。
彼らが議論しているときにそのトピックにあまり注意を払っていなかったので、「古い構文」が実際に何であるかはわかりません...