Ярлыки / поля формы не центрированы вертикально

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 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;*/

}
  • 1
    Вы не должны публиковать код, который не имеет ничего общего с вашей проблемой. Сложнее понять, в чем проблема.
  • 0
    Вы имеете в виду разрыв внизу?
Теги:

1 ответ

1
Лучший ответ

Разрыв в нижней части формы связан с тем, что ваш набор полей имеет высоту 550 пикселей, но ваш контент не заполняет эту высоту. Удалите высоту и отрегулируйте маржу/отступы оттуда.

Что касается заполнения в наборе полей, браузеры по умолчанию добавляют дополнения к полям. Чтобы сделать ваш сайт более согласованным в разных браузерах, используйте сброс CSS, например, таблицу стилей сброса HTML5. Это существенно отменяет все стили оформления по умолчанию в браузере. При его использовании применяйте его выше всех других стилей CSS. Что касается самой прокладки, есть несколько способов ее управления.

Чтобы настроить определенную сторону, вы можете использовать padding-top, padding-bottom, padding-right или padding-left.

Вы можете настроить верхний/нижний, левый/правый с помощью padding: 10px 15px; , который даст вам 10px сверху и снизу и 15px слева и справа.

Вы также можете указать верхнюю, левую/правую и нижнюю части с padding:10px 15px 5px.

Поля устанавливаются одинаково, просто замените "padding" на "margin".

  • 0
    Спасибо за этот совет. Когда я использую инструмент разработки chromes, я вижу, что отступ сверху составляет 5,6 пикселей, а отступ снизу 10 пикселей (fieldset). Я знаю, что могу вручную добавить верхний отступ, но я пытался сделать это с помощью чего-то, что может сделать это автоматически
  • 0
    Я обновил свой ответ. Извините, если это многословно! Я бы использовал CSS-сброс, чтобы убедиться, что браузеры не применяют стили по умолчанию, а затем настраивал отступ оттуда. Дайте мне знать, если это не распространяется, и я вернусь к этому.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню