0

我无法将表单中的标签/字段垂直居中。我已将内容水平居中,但现在还想添加垂直居中。当我运行我的代码时,我可以看到字段集填充已关闭。顶部填充的值小于底部的值。我认为垂直居中发生它们应该是相等的。这是我的代码...

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Contact</title>
        <link href='http://fonts.googleapis.com/css?family=Roboto:400,700' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" type="text/css" href="contact.css">
    </head>
    <body>
        <header id="pageHeader">

        </header>


        <nav class="mainNav">
            <ul>
                <li><a href="../index.html">Home</a></li>
                <li><a href="#">Photos</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
                <img src="NewLogo3.png">
        </nav>

        <div class="contact">
            <h1>Get In Touch</h1>
            <form action="index.php" method="POST" >
            <fieldset class="boxShadow">
                <label>Name:</label>
                <input type="text" name="name" placeholder="Enter your name" class="boxShadow"/>

                <label>Email:</label>
                <input type="email" name="email" placeholder="Enter your email address" class="boxShadow"/>

                <label>Message:</label>
                <textarea name="message" placeholder="What's on your mind?" class="boxShadow"></textarea>

                <input type="submit" value="Send message" />

            </fieldset>
            </form>
        </div>
        <footer id="pageFooter">
            <p>Thanks for visiting my website</p>
            <span>&copy 2013</span>
        </footer>
    </body>
</html>



html, body, h1, h2 , ul, nav, img{
    margin:0;
    padding: 0;
    font-size: 1em;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
}
body{
    background: #777777;
    height: 100%;
}

nav{
    background: #40B3DF;
    height: 100px;
    font-size: 2em;
    width: 100%;
    border-bottom: 1px solid black;
}
nav ul{
    position: absolute;
    top: 55px;
    white-space:nowrap;
    margin-left: 100px;
}
nav li{
    display: inline-block;
    background: #A8CB17;
    padding-bottom: 0;
    border-radius: 8px 8px 0 0;
    border-bottom: 2px solid #A8CB17;
    margin-right: 10px; 
    -webkit-box-shadow: -5px 0px 7px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: -5px 0px 7px 0px rgba(0,0,0,0.75);
    box-shadow: -5px 0px 7px 0px rgba(0,0,0,0.75);
}
nav a{
    text-decoration:none;
    color: #004158;
    padding: 10px;  
}
nav img{
    position: absolute;
    right: 50px;
    top: 15px;
}
nav li:hover{
    background: #17649A;
    border-bottom: 2px solid #17649A;
}

p{
    padding-top: 3em; 
    color: #454545;
    text-align: center;
}

h1{
    color: #393939;
    font-size: 3em;
    padding: 1em 0 0 1em;
    text-shadow: 2px 2px 3px rgba(23, 23, 23, 1);
    margin-bottom: 1em;
}

footer{
    border-top: 2px solid #393939;
    background: #40B3DF;
    position:relative;
    bottom:0;   
    height: 60px;
    width: 100%;
    text-align: center; 
}
footer p{
    display:inline-block;   
    margin: 0 auto;
    padding-top: 1.5em; 
    color: #004158;
}

footer span{
    position: relative;
    top: 7px;
    right: -45px;   
}

textarea{
    height: 150px;
    width: 200px;
    padding: 1em;

}
label, input[type=submit]{
    text-transform: uppercase;

}
input, label{
    display: block;
    margin: 0 auto;
    padding: 1em;
    width: 200px;

}
input[type=submit] {    
    margin-top: 2em;
    border-radius: 8px;
    font-weight: 700; 
}

fieldset {
    height: 550px;
    position: relative;
    width: 60%;
    text-align: center;
    background: #676767;
    margin: 0 auto;     
    margin-bottom: 2em;
    /*border: 0;*/

}
4

1 回答 1

1

表单底部的空白是由于您的字段集的高度为 550 像素,但您的内容没有填充该高度。删除高度,然后从那里调整边距/填充。

至于字段集的填充,浏览器默认为字段集添加填充。要使您的网站在浏览器中更加一致,请使用 CSS 重置,例如HTML5 重置样式表。这基本上覆盖了浏览器的所有默认样式。使用它时,将它应用到所有其他 CSS 样式之上。至于填充本身,有几种方法可以管理它。

要调整某一侧,您可以使用padding-toppadding-bottompadding-rightpadding-left

您可以使用 调整上/下、左/右padding: 10px 15px;,这将为您提供上下 10px 和左右 15px 的空间。

您还可以使用 指定顶部、左侧/右侧和底部padding:10px 15px 5px

边距的设置方式相同,只需将“填充”替换为“边距”即可。

于 2013-11-11T22:23:50.477 回答