0

事前警告:私はCSSが苦手です。

こんにちは、私は最近の3つの投稿を表示する小さな掲示板に取り組んでいます。また、1つの画面に表示される投稿の数(たとえば、5または10の投稿)をユーザーが選択できるようにしたいと思います。

現在、すべての投稿が次のように印刷されるようにしています。

while ($i < $d){
// $d is entered by the user to determine how many posts are to be displayed.
    if ($i == $id_Max){
        echo "Reached last known post.";
        break;
    }

    $query2 = $con->prepare(
    "SELECT postName, postPath FROM " . $table .
    " WHERE id=(SELECT MAX(id-".$i.") FROM " . $table . ")"
    );
    $query2->execute();
    $result2 = $query2->fetch();
    $path = $result2["postPath"];
    $file = file_get_contents($path);

    echo "<article class = 'entry'>";

    echo "<section id = 'entryTitle'>";
    echo $result2["postName"] . "<br />";
    echo "</section>";

    echo $file;
    echo "<br />";

    echo "</article>";

    $i++;
}

したがって、印刷される各投稿のクラスはentry。です。これで各投稿に境界線を付けましたが、5px程度の間隔を空けるようにしたいと思います。私はそれらを設定しましposition: relativetop: 5pxが、それは一番上のエントリでのみ有効になり、ページの一番上から5pxだけ下に移動します。

基本的に、私は、可能な投稿ごとに何かを書き出すことなく、グローバルに何かを機能させたいと思っています。#entry1#entry2..。

私はこの特定のことをどのように行うかについては実際には探していませんが、将来のことに適用するために学ぶことができる何かをもっと探しています。

ありがとう、-マイケルミッチェル

(不明な点がある場合は、教えてください。より適切に説明しようと思います。)

4

2 に答える 2

0

'top' cssプロパティは通常、絶対位置の要素にのみ適用されます。エントリクラスには次のものが必要です。

margin-bottom:5px;

また

margin-top:5px;

position:relative私はあなたがこれをするために財産を必要としないと思います。

于 2012-09-27T23:34:43.430 に答える
0

ここで間違っていることがいくつかあります。

まず、要素間の間隔は通常、マージンを使用して処理されます。

/* all .entry elements */
.entry { margin-top: 10px }
/* all but the first .entry elements */
.entry + .entry { margin-top: 10px }

次に、実際には必要のないときに、データベースに対して複数の要求を行っているように見えます。必要なクエリは次のようになります。

SELECT postName, postPath FROM tablename ORDER BY date_added DESC LIMIT ?

これにより、反復処理できる上位のエントリのリストが表示され、複数のリクエストを行うよりもはるかに高速になります。返されるエントリの数を構成可能にしたい場合は、値をサニタイズ/エスケープしていることを絶対に確認してください。

于 2012-09-27T23:39:26.930 に答える