2011-10-21 6 views
7

誰にでも解決策があるかどうかわかりません。
最下部に古いサムネイル画像、上部に最新のサムネイル画像のアーカイブを提示したいと思います。イメージアーカイブを逆にする:イメージをCSS/Javascriptで下から上に積み重ねる?

reverse archive

ページは、ページの最上部に追加将来像と、右の整列する必要があります。私はこのような何か...流れ自体が逆転するようにもしたいと思います。私は、MySQL DBからイメージファイル名を取得するPHPで動的にページを作成しています。ここでのキャッチは、私はこのレイアウトが流動的であることが大好きです。つまり、画像を数え、それに応じてHTMLを構築するためのPHPのほとんどのトリックがウィンドウから出てきます。

JavascriptまたはCSSだけでこれを行う方法はありますか?

+2

サポートする必要があるブラウザ/バージョンを教えてください。答えが「現代のもののみ」である場合は、ただのCSSでこれを行うことができます。 – thirtydot

+1

現代のものだけで大丈夫です。 – filip

答えて

5

を参照してください:http://jsfiddle.net/thirtydot/pft6p/

これは、その後、transform: scaleY(-1)flips the entire container、そして再びflips each individual image back最後transform: scaleY(-1)order the divs as requiredからfloat: right使用しています。

IE9以上、すべての最新ブラウザで動作します。

CSS:

#container, #container > div { 
    -webkit-transform: scaleY(-1); 
     -moz-transform: scaleY(-1); 
     -ms-transform: scaleY(-1); 
     -o-transform: scaleY(-1); 
      transform: scaleY(-1); 
} 

#container { 
    background: #ccc; 
    overflow: hidden; 
} 
#container > div { 
    float: right; 
    width: 100px; 
    height: 150px; 
    border: 1px solid red; 
    margin: 15px; 
    font-size: 48px; 
    line-height: 150px; 
    text-align: center; 
    background: #fff; 
} 

HTML:

<div id="container"> 
    <div>1</div> 
    <div>2</div> 
    <div>3</div> 
    .. 
</div> 
+0

私は、 'トランスフォーム'は、PHPバックエンドにページの要素を逆に印刷させるという、はるかに複雑な解決策だと思います。 –

+3

+1すばらしい解決策! – andyb

+1

@ George Pittarelli:HTMLで順序を入れ替え、['float:left'](http://jsfiddle.net/thirtydot/pft6p/3/)または[' float:right'](http ://jsfiddle.net/thirtydot/pft6p/4/)は、望みの効果を達成できません。 – thirtydot

2

CSSフレキシブルボックスモジュールは、このタイプのもの用に作られました。私が立ち上げた簡単な例を見てください:http://jsfiddle.net/c6QLC/2/(Firefoxでこれを見てください)

今、悪いニュース:あなたは本当にそれに頼ることはできません。スペックは書き直されているだけでなく、現在の実装では、box-lines(これは例に含まれていました)をサポートしていません。オーバーフローするのではなく、複数の行にアイテムを入れることができます。

新しい仕様がいくつかのブラウザの開発版に書かれているので、それが起こります。それは時間の問題です。

一方、おそらくIsotopeのようなものがあなたのニーズに合っているかもしれません。

はあなたが仕様をチェックアウトしたいなら、あなたはここでそれを見つけることができます:http://www.w3.org/TR/css3-flexbox/

+0

+1これは私が試していたものです(http://jsfiddle.net/aeuRm/ウェブキットの例を参照)。そのボックスラインで同じ問題が発生しても動作しません! – andyb

+1

アイソトープは本当に非常にクールです、私にそれを導入していただきありがとうございます。 – filip

0

これはjqueryの石工プラグインで解決することができます。アイソトープのようなものですが、民間および商用のユーザーは無料です。

関連する問題