1

第一张图片:在此处输入图像描述

第二张图片:在此处输入图像描述

问题:为什么在第二张图片中显示隐藏的html标签后,黄色和绿色之间有一个空格,请帮忙?我应该如何解决这个问题?非常感谢。

这是我的html代码

<div id="login">
    <?php
    session_start();
    $errmsg = array();
    if(isset($_SESSION['errmsg'])&&is_array($_SESSION['errmsg'])&&count($_SESSION['errmsg'])>0){
        foreach($_SESSION['errmsg'] as $msg){
            echo '<p id="error"><img src="img/error.png" alt="Login error!">'.$msg.'</p>';
        }
        unset($_SESSION['errmsg']);
    }
    ?>
    <form method="post">
        <label for="email">Email:</label>
            <input id="email" type="email" name="email" required>
        <label for="pass">Password:</label>
            <input id="pass" type="password" name="pass" required>
            <input id="submit" type="submit" name="login" value="Login">
    </form>
    <?php
    include 'functions/functions.php';
    if(isset($_POST['login'])){
        $result=AuthenticateUser($_POST['email'],$_POST['pass']);
        if($result){

        }
        else
            $errmsg[]='Login error:please check your e-mail & password';
            session_regenerate_id();
            $_SESSION['errmsg'] = $errmsg;
            session_write_close();
            header('location:index.php');
            exit();
    }
    ?>
</div>

这是我的css代码

label, input#pass, input#register{
    display:block;
}
p#error {
    color:#FF0000;
}
div#nav{
    background-image:url('../img/nav.png');
    background-repeat:no-repeat;
}
div#nav, a {
    text-decoration:none;
}
body {
    margin:0 auto;
    width:600px;
}
div#login, div#register {
    background-image:url('../img/form.png');
    background-repeat:repeat-y;
}
4

1 回答 1

2

它可能与<p>. 尝试更改<p id="error"><div id="error">,看看是否可以解决它。您也可以尝试margin-top:0px;p#error.

如果这些解决方案中的任何一个解决了它,那么问题是因为<p>标签的默认上边距值。保证金推低了开始<div id="login">并造成了差距。

于 2012-08-23T09:40:51.797 回答