4

次のソースコード( "likes.php")を含むポップアップウィンドウがあります。

<!DOCTYPE html>
<html>
<head>
    <title>Like</title>
  <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
</head>
<body>
<ol>
    <?php for($i=0;$i<500;$i++){ ?>
    <li><p><?php echo $i ?></p></li>
    <?php } ?>
</ol>
</body>
</html>

問題は、すべての段落が作成されているのに、スクロールバーがないためにそれらが表示されないことです。ページにスクロールバーを添付するにはどうすればよいですか?

Printscreenへのリンク

Chromeで動作しますが、ポップアップウィンドウ(他のファイルはwindow.open( "likes.php")を呼び出す場合、Firefoxでは動作しません)。通常のウィンドウの両方のブラウザで動作します

4

2 に答える 2

4

cssoverflowプロパティを使用します。<head>これをタグに追加します。

<style type="text/css">
  body, html {
    margin: 0;
    padding: 0;
    height: 100%;
  } 
  .scroller {
    overflow: scroll;
    padding: 5px;
    height: 100%;
  }
</style>

水平スクロールバーまたは垂直スクロールバーを具体的に追加するには、それぞれoverflow-xまたはを使用します。overflow-y

また、要素のcloseタグを修正し<li>、次のように適切なコンテナにラップすることもできます。

<div class="scroller">
  <ul>
    <?php for($i=0;$i<500;$i++)
              echo "<li>".$i."</li>";
    ?>
  </ul>
</div>
于 2013-03-14T23:32:31.607 に答える
1

オーバーフローを制御するには、通常、CSSオーバーフロープロパティを使用する必要があります

overflow: scroll

pswgが述べているように、しかし、彼が提案するように、これを全身に適用する必要は決してありません。コードが適切にフォーマットされている場合、ブラウザはそれ自体でページ全体にスクロールバーを追加する必要があります。

<li>現在の問題は、2番目のタグを閉じていないことと、PHPが不適切にフォーマットされていることが原因である可能性があります。各行の終わりで休憩する必要はありません。線が途切れていない理由は、またはで<li>要素を囲んでいないためです。また、ifステートメントの先頭、フィラー、および末尾を別々のphpタグ内に配置すると、コンピューターが混乱します。代わりに以下を使用してください:<ol><ul>

  <?php 
    echo "<ul>";
    for( $i=0; $i<500; $i++) { 
      echo "<li>" .  $i . "</li>";
    } 
    echo "</ul>";
  ?>
于 2013-03-14T23:38:16.090 に答える