Как выровнять форму по центру, но чтобы метка была выше самого левого края поля ввода - PullRequest
1 голос
/ 06 августа 2020

Я подумал: «Эй, давай потренируемся всего 10 минут с формами перед сном ...» Да ... прошел час, и я не могу понять!

Я хочу, чтобы все было по центру , за исключением метки, я хочу, чтобы она была над входом, слева. и, конечно же, если я изменяю размер окна, я хочу, чтобы оно «следовало» за вводом, иначе я мог бы просто изменить положение в пикселях.

Как я могу это сделать? Спасибо большое!

* {
  margin: 0;
  box-sizing: border-box;
}

.form1 {
  background: linear-gradient(to right bottom, deepskyblue, pink);
  margin: 10px;
  border: 1px solid black;
  padding: 50px 150px;
  display: flex;
  flex-direction: column;
  font-family: helvetica;
  font-size: 14px;
}

.space:focus {
  outline-color: black;
}

.space {
  width: 300px;
}

.submit {
  width: 30vw;
  align-self: center;
  background: linear-gradient(to top left, rgb(255,105,200), aqua);
  border: none;
  border-radius: 20px;
  padding: 5px;
  font-family: verdana;
  font-weight: 600;
}
  <div class="form1">
      <label for="name">Name</label>
      <input class="space" type="text" id="name"><br><br>


      <label for="email">E-mail</label>
      <input class="space" type="email" id="email"><br><br>

      <label for="message">Message</label>
      <textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br>

      <input type="submit" class="submit" value="Send">
    </div>

Ответы [ 2 ]

0 голосов
/ 07 августа 2020

вы можете просто добавить css к метке, поскольку вы предоставили ввод шириной 300, укажите то же самое для метки, и он работает.

.form1 {
    background: linear-gradient(to right bottom, deepskyblue, pink);
    margin: 10px;
    border: 1px solid black;
    padding: 50px 150px;
    display: flex;
    flex-direction: column;
    font-family: helvetica;
    align-items: center;
    font-size: 14px;
}

.form1 label {
    display: flex;
    justify-content: flex-start;
    width: 300px;
}

.space:focus {
  outline-color: black;
}

.space {
  width: 300px;
}

.submit {
  width: 30vw;
  align-self: center;
  background: linear-gradient(to top left, rgb(255,105,200), aqua);
  border: none;
  border-radius: 20px;
  padding: 5px;
  font-family: verdana;
  font-weight: 600;
}
<div class="form1">
    <label for="name">Name</label>
    <input class="space" type="text" id="name"><br><br>


    <label for="email">E-mail</label>
    <input class="space" type="email" id="email"><br><br>

    <label for="message">Message</label>
    <textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br>

    <input type="submit" class="submit" value="Send">
  </div>
0 голосов
/ 06 августа 2020

хотел этот результат?

* {
  margin: 0;
  box-sizing: border-box;
}

.form1 {
  background: linear-gradient(to right bottom, deepskyblue, pink);
  margin: 10px;
  border: 1px solid black;
  padding: 50px 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: helvetica;
  font-size: 14px;
}

.form1 label {
  max-width: 300px;
  width: 100%;
}

.space:focus {
  outline-color: black;
}

.space {
  /*width: 300px;*/
  max-width: 300px;
  width: 100%;
}

.submit {
  /*width: 30vw;*/
  max-width: 300px;
  width: 100%;
  align-self: center;
  background: linear-gradient(to top left, rgb(255,105,200), aqua);
  border: none;
  border-radius: 20px;
  padding: 5px;
  font-family: verdana;
  font-weight: 600;
}
<div class="form1">
      <label for="name">Name</label>
      <input class="space" type="text" id="name"><br><br>


      <label for="email">E-mail</label>
      <input class="space" type="email" id="email"><br><br>

      <label for="message">Message</label>
      <textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br>

      <input type="submit" class="submit" value="Send">
    </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...