иногда решение состоит в том, чтобы немного изменить свой html. В этом случае проще добавить деление для каждого label
и input
. Таким образом, вы можете легко изменить display
метод на inline(-block)
или block
, чтобы поместить один div
под другой.
Вам нужно будет только изменить form .form-row .section-form
css для вашей мобильной / настольной версии, так как более короткий код css всегда лучше (сокращая время загрузки внешних ресурсов).
Выбор ввода с их типом полезен, когда вам нужно сделать определенные c вещи для одного из них, здесь, поскольку вы этого не делаете, вы можете удалить выбор типа и оставить только form .form-row .section-form input
. Это проще, понятнее и быстрее.
Вы также можете добиться того, что хотите, изменив .form-row
на display: grid
( сетку ), указав, сколько rows
и columns
и, наконец, изменив порядок каждого .section-form
, чтобы разместить их так, как вы хотите, но это немного сложнее, и я думаю, вам это не нужно для формы с 2 входами и метками.
form .form-row .section-form {
display: block;
margin: 10px 5px;
}
form .form-row .section-form > * {
display: inline-block;
}
/********** INLINE version ************/
/*
form .form-row .section-form {
display: inline-block;
}
*/
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'/>
<title>Speaker Submission</title>
<!-- <link rel='stylesheet' href='styles.css'/> -->
</head>
<body>
<header class='speaker-form-header'>
<h1>Speaker Submission</h1>
<p><em>Want to speak at our fake conference? Fill out
this form.</em></p>
</header>
<form action='' method='get' class='speaker-form'> <!-- The action attribute contains a URL. All the information is sent to that URL. Meanwhile, the method attribute lets you later analyze the info.-->
<div class='form-row'>
<div class="section-name section-form">
<label for='full-name'>Name</label> <!--The label element lets us collect user input. The for and id attribute must always match-->
<input id='full-name' name='full-name' type='text'/>
</div><!--The input element creates a text field, and it can change according to the type of arguments stated later. When the information is returned to the server, it returns with the name stated in the name attribute plus the value entered-->
<div class="section-email section-form">
<label for='email'>Email</label>
<input id='email' name='email' type='email' placeholder='yourname@example.com'/>
</div>
</div>
</form>
</body>
</html>