Wenn ich versuche, float links oder inline anzuzeigen, brechen die Dinge. Derzeit habe ich eine maximale Breite von 1000px für das Formular. Was ich mir erhofft habe, ist, dass der Vor- und Nachname automatisch nebeneinander schwebt, wenn er breit genug ist. Also vielleicht eine min-width für Eingaben Vor- und Nachname?Anzeige inline oder float ohne zu brechen - ohne Medienabfragen zu verwenden
Wichtiger Hinweis: Ich schrieb dies, um CSS-DRY-Code zu schreiben. Sie bemerken, wenn Sie die Schriftgröße ändern, ändert das gesamte Projekt Größe, also das ist mir wichtig. Außerdem mache ich nicht möchte Medienabfragen verwenden.
Ich bin mir bewusst, dass ich meinen Ansatz ändern muss, und ich bin auch dafür offen. Nicht so sehr auf der Suche nach einer genauen Code-Antwort.
form {
text-align: center;
}
form ul, form li, form input, form label {
box-sizing: border-box;
margin: 0; padding: 0;
}
form ul {
font-size: 100%;
border: 3px solid #000;
border-radius: .3em;
max-width: 1000px;
margin: 50px auto;
list-style: none;
overflow: hidden;
}
form li {
position: relative;
border-bottom: inherit;
border-bottom: 3px solid;
}
form label {
position: absolute;
border-bottom: 1px dotted;
border-bottom-color: inherit;
width: 100%;
padding: .3em .3em;
padding-bottom: .1em;;
top: 0; left: 0;
font-size: .6em;
text-transform: uppercase;
}
form input, form input:focus {
text-transform: capitalize;
text-align: inherit;
background: transparent;
border: none;
width: 100%;
font-size: 2em;
padding: .7em .1em;
padding-bottom: .2em;;
}
form input:focus {
background-color: rgba(255, 255, 0, .2);
}
form input[type="submit"] {
text-transform: uppercase;
padding-bottom: 1.8em;
font-size: .6em;
height: 1.5em;
background-color: #ddd;
}
<form action="">
<ul>
<li>
<input id="first-name" type="text" autofocus>
<label for="first-name">First Name</label>
</li>
<li>
<input id="last-name" type="text">
<label for="last-name">Last Name</label>
</li>
<li>
<input id="username" type="text">
<label for="username">Username</label>
</li>
<li>
<input type="submit" name="submit">
</li>
</ul>
</form>
beginnen mit gültigen HTML und dann zu debuggen. "ul" darf nur "li" Elemente als Kinder haben - Sie haben dort ein 'div' und ein' input'. –
Das sollte eigentlich sowieso nicht da sein ... es ist jetzt weg. –