【问题标题】:HTML Render BugHTML 渲染错误
【发布时间】:2013-09-05 00:16:55
【问题描述】:

我在我的网站上工作时注意到<center> 选项卡无法正常工作。我有一个包含在 <div id="main'><center> 选项卡中的元素,并且所有文本行都没有正确排列。

<?php
    require('/inc.all.php');
    $_SESSION['lastUrl'] = $_SERVER['REQUEST_URI'];
    // Get total count of rows
    $sql = "SELECT COUNT(username) FROM user_profile WHERE hideFromUserCount='0'";
    $query = $db->query($sql);
    $row = $query->fetch_row();
    // Total row count
    $rows = $row[0];
    //Number of results per page
    //if($rows < 10){
    //  $page_rows = $rows -1;  
    //}else{
        $page_rows = 10;
    //}

    //Tells us number of last page
    $last = ceil($rows/$page_rows);

    if($last < 1)
        $last = 1;  
    //Establish $pagenum variable
    $pagenum = 1;

    if(isset($_GET['pg']))
        $pagenum = preg_replace('#[^0-9]#', '', $_GET['pg']);
    else
        $pagenum = 1;

    //Makes sure pagenumber isnt below 1 or more than $last
    if($pagenum < 1)
        $pagenum = 1;
    else if($pagenum > $last) 
        $pagenum = $last;

    //Sets range of rows for chosen $pagenum
    $limit = 'LIMIT '.($pagenum-1) * $page_rows.','.$page_rows;
    $sql = "SELECT username FROM user_profile WHERE hideFromUserCount='0' ORDER BY username ASC $limit";
    $query = $db->query($sql);
    $show_start = $pagenum * $page_rows;
    $show_end = (($pagenum * $page_rows) + $page_rows)-1;
    $textline1 = "Total Profiles: <b>$rows</b>";
    $textline2 = "Page <b>$pagenum</b> of <b>$last</b>";

    $paginationCtrls = '';
        if($pagenum > 1){
            $previous = $pagenum-1;
            $paginationCtrls .= "<li><a href=\"?pg=$previous\">Prev</a></li>";
            for($i = $pagenum-4; $i < $pagenum; $i++){
                if($i > 0){
                    $paginationCtrls .= "<li><a href=\"?pg=$i\">$i</a></li>";
                }
            }
        }else{
            $previous = $pagenum-1;
            $paginationCtrls .= "<li class='disabled'><a href=\"#\">Prev</a></li>"; 
        }

        $paginationCtrls .= "<li class='disabled'><a href=\"#\">$pagenum</a></li>";

        for($i = $pagenum+1; $i<=$last; $i++){
            $paginationCtrls .= "<li><a href=\"?pg=$i\">$i</a></li>";
            if($i >= $pagenum+4){
                break;  
            }
        }

        if($pagenum != $last){
            $next = $pagenum +1;
            $paginationCtrls .= "<li><a href=\"?pg=$next\">Next</a></li>";  
        }else{
            $next = $pagenum +1;
            $paginationCtrls .="<li class=\"disabled\"><a href=\"#\">Next</a></li>";    
        }
        $usernames = "";
        while($row = $query->fetch_assoc()){
            $username = $row['username'];
            $usernames .="<br><a href=\"viewProfile?usr=$username\">$username</a><br>"; 
        }

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Minecraft Profiles | Profiles</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" type="text/css" href="style/css/style_viewProfile.css">
    <link href="style/css/bootstrap.css" rel="stylesheet" type="text/css">
</head>

<body>
<!--<div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
        <a class="brand" href="index">Minecraft Profiles</a>
        <ul class="nav">
            <li><a href="index">Home</a></li>
            <li class="active"><a href="profileList">Profiles</a></li>
            <li><a href="userLookup">Find User</a></li>
            <li><a href="createProfile">Create a Profile</a></li>
            <li><a href="dashboard">User Dashboard</a></li>
            <?php
                if(isset($_SESSION['username']) && isset($_SESSION['password'])){
                    echo "<li><a href=\"logout\"> Welcome Back, ".$_SESSION['username']."! Click to log out</a></li>";
                }else{
                      echo "<li><a href=\"login\">Login</a></li>";
                }
            ?>
        </ul>
  </div>
</div>-->
<br />
<br />
    <div id="header">
        <h1>Profiles</h1>
    </div>
    </div>
    <div id="content">
        <div id="sidebar">
            <strong>Featured Profiles</strong>
            <br />
            <?php 
                $sql = "SELECT username FROM user_profile WHERE featured = 1";
                $query = $db->query($sql);
                while($row = $query->fetch_assoc()){
                    $username = $row['username'];
                    echo "<a href=\"viewProfile.php?usr=$username\">$username</a>";
                    echo "<br />";
                }
            ?>
        </div>
        <div id="main">
            <center>
            <?php echo $textline1;?><br />
            <?php echo $textline2; ?><br />
            <?php if(isset($usernames)) {echo $usernames; }?><br />
            <div class="pagination"><ul><?php echo $paginationCtrls; ?></ul></div></center>
        </div>
        <div class="clear">
       <?php
            $sql="SELECT * FROM user_profile WHERE hideFromUserCount = 0";
            $query=$db->query($sql);
            echo "<div class=\"clear\"><br /><center>Minecraft Profiles is proud to have ".$query->num_rows." unique profile(s) registered in our databases!</center></div>";
        ?>
      </div>
    </div>

</body>

</html>

$textline1$textline2 只是在屏幕上显示一些文本。最终结果看起来像This

【问题讨论】:

  • 看起来div#main 可能由于浮动的div#sidebar 而被偏移。可以制作一个我们可以玩的 JSfiddle 吗?如果没有,能否包含相关的 CSS?
  • 另请注意,&lt;center&gt; 标记已成为 deprecated since HTML 4.01
  • @JonathanNewmuis 我用什么代替? CSS 样式让它居中?
  • 您应该发布一个演示问题的 HTML 代码示例,而不是可能生成某些 HTML 的 PHP 代码。
  • @mrkirby153 是的。请参阅下面 Shylo Hana 的回答,了解其中的一种方法。

标签: html rendering


【解决方案1】:

您是否尝试过完全删除

并设置 div 样式?
<div id="main" style="text-align: center;">

另外 - 你需要 #main 有一个宽度,以便 CSS 知道将文本居中的宽度

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    相关资源
    最近更新 更多