Выравнивающие дивы расположены рядом?

#html #css #side-by-side

#HTML #css #бок о бок

Вопрос:

Я создаю этот интерфейс для веб-сайта о путешествиях, и я выравниваю два ввода рядом, и они не выравниваются должным образом. Меня больше всего беспокоят входные данные отправки и возврата. Возвращаемый ввод и метка не совпадают с вводом и меткой отправления.

Может кто-нибудь проверить мой код и предложить решение. Вероятно, это мое видение, но если вы можете мне помочь, я был бы очень признателен.

 #container {
  width: 400px;
  height: 400px;
  background-color: black;
  float: left;
}

#menu {
  background-color: black;
  clear: both;
}

#flights {
  font-family: helvetica, sans-serif;
  font-size: 20px;
  font-weight: bold;
  width: 100px;
  height: 50px;
  color: white;
  background-color: black;
  float: left;
  line-height: 50px;
  text-align: center;
}

#flights:hover {
  cursor: pointer;
  background-color: gold;
  color: black;
}

#hotels {
  font-family: helvetica, sans-serif;
  font-size: 20px;
  font-weight: bold;
  width: 100px;
  height: 50px;
  color: white;
  background-color: black;
  float: left;
  line-height: 50px;
  text-align: center;
}

#hotels:hover {
  cursor: pointer;
  background-color: gold;
  color: black;
}

#cars {
  font-family: helvetica, sans-serif;
  font-size: 20px;
  font-weight: bold;
  width: 100px;
  height: 50px;
  color: white;
  background-color: black;
  float: left;
  line-height: 50px;
  text-align: center;
}

#cars:hover {
  cursor: pointer;
  background-color: gold;
  color: black;
}

#bundle {
  font-family: helvetica, sans-serif;
  font-size: 20px;
  font-weight: bold;
  width: 100px;
  height: 50px;
  color: white;
  background-color: black;
  float: left;
  line-height: 50px;
  text-align: center;
}

#bundle:hover {
  cursor: pointer;
  background-color: gold;
  color: black;
}

#flights-data {
  font-family: helvetica, sans-serif;
  font-size: 14px;
  font-weight: bold;
  width: 400px;
  height: 400px;
  float: left;
  margin-top: 0;
  background-color: gold;
  padding: 10px;
}

label {
  width: 180px;
  height: '';
  float: left;
  margin: 0;
  padding: 0;
}

input#flight-departure {
  display: inline-block;
  width: 48%;
  height: 50px;
  padding: 10px;
  float: left;
  margin-right: 10px;
  margin-top: 0;
  display: block;
  margin-bottom: 5px;
}

input#flight-return {
  display: inline;
  width: 48%;
  height: 50px;
  padding: 10px;
  float: left;
  margin-right: 0px;
  margin-top: 0;
  margin-bottom: 5px;
}

input#fly-from,
input#fly-to,
input#passengers {
  display: block;
  width: 380px;
  height: 50px;
  margin-bottom: 5px;
  padding: 10px;
}

#depart-block {
  column-count: 2;
  column-gap: 10px;
  width: 385px;
  height: 100px;
  padding: 0;
  margin: 0;
  float: left;
}

#find-a-flight {
  width: 380px;
  height: 50px;
  line-height: 50px;
  background-color: black;
  color: white;
  border-radius: 30px;
  text-align: center;
  margin-top: 10px;
}

#find-a-flight:hover {
  cursor: pointer;
  background-color: white;
  border: 2px solid black;
  color: black;
}

label#return {
  margin: 0;
}

div.active#flights {
  background-color: gold;
  color: black;
} 
 <div id="container">
  <div id="menu">
    <div class="active" id="flights">Flights</div>
    <div id="hotels">Hotels</div>
    <div id="cars">Cars</div>
    <div id="bundle">Bundle</div>
  </div>

  <div id="flights-data">
    <label for="fly-from">Flying from</label><br>
    <input type="text" id="fly-from" value="Departure city or Airport">
    <label for="fly-to">Flying to</label><br>
    <input type="text" id="fly-to" value="Departure city or Airport"><br>
    <div id="departing-block">
      <label for="Departure">Departing Flight</label><br>
      <input type="text" id="flight-departure" value="Pick-a-date">
      <label id="return" for="Return">Returning</label><br>
      <input type="text" id="flight-return" value="Pick-a-date">
    </div>
    <label for="passengers">Passengers</label><br>
    <input type="text" id="passengers" value="1 Adult 0 Children">
    <div id="find-a-flight">Find a Flight</div>
  </div> 

Комментарии:

1. не используйте float для стилизации porpuse. Он не просто устарел, но и никогда не использовался по назначению. Float предназначен только для плавающих изображений в текстовом абзаце. Либо используйте flexbox или css-grid для макетов

2. У вас вызван css #depart-block , но идентификатор есть departing-block . Вероятно, вам также нужен отдельный div для возврата.

3. Это ожидаемый результат?

4. Я думаю, что лучшим решением было бы использовать сетки. Поскольку сетки являются относительно новой спецификацией для css3, это решит проблему и сохранит все выровненным должным образом. Спасибо всем, кто внес свой вклад в мой вопрос.

5. Louys — Это не ожидаемый результат. Дивы должны выравниваться по горизонтали.

Ответ №1:

Выполните следующие изменения в <div id="flights-data"> :

     <label for="fly-from">Flying from</label><br>
    <input type="text" id="fly-from" value="Departure city or Airport">
    <label for="fly-to">Flying to</label><br>
    <input type="text" id="fly-to" value="Departure city or Airport"><br>
    <div id="departing-block">
      <div style="display: inline-block;">
      <label for="Departure">Departing Flight</label><br>
      <input type="text" id="flight-departure" value="Pick-a-date"> 
      </div>

      <div style="display: inline-block;">
      <label id="return" for="Return">Returning</label><br>
      <input type="text" id="flight-return" value="Pick-a-date">    
      </div>
      
     
    </div>
    <label for="passengers">Passengers</label><br>
    <input type="text" id="passengers" value="1 Adult 0 Children">
    <div id="find-a-flight">Find a Flight</div>
  </div>
 

это позволит правильно выровнять оба входных сигнала рядом друг с другом. Я проверил это.