Как выровнять содержимое и стрелку в одной строке на div? - PullRequest
0 голосов
/ 30 апреля 2020

CSS display: работает для текстовых элементов, но ничего не делает для <i> элемента. Я могу переместить его с помощью float: right, где мне нужно, чтобы он был на моем div, но тогда отступы отключены и разболелась голова! Любая обратная связь будет принята с благодарностью :) Часть моего кода ниже:

HTML:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/style.css">
    <script src="https://use.fontawesome.com/37471687aa.js"></script>
  </head>
  <body>
    <section class="container">
      <nav>
        <div class="arrow-left">
          <i class="fa fa-chevron-left fa-inverse fa-2x" aria-hidden="true"></i>
        </div>
      </nav>
      <section class="restaurant-list">
        <div class="location">
          <div class="content">
            <h1>Bakalaki Greek Taverna</h1>
            <h3>Seng Poh Road 3, Singapore</h3>
          </div>
          <div class="arrow">
            <i class="fa fa-chevron-right fa-2x" aria-hidden="true"></i>
          </div>
        </div>
      </section>
    </section>
  </body>
</html>

CSS:

body {
  background-color: #333;
  font-family: sans-serif;
  font-size: 10px;
}

.container {
  margin: 0 auto;
  width: 420px;
}

nav {
  box-sizing: border-box;
  background-color: #000;
  padding: 10px 0 15px 15px;
  width: 100%;
}

.restaurant-list {
  margin: 0 auto;
  width: 100%;
}

.location {
  box-sizing: border-box;
  background-color: #aaa;
  border: .02px  solid #333;
  margin: 0%;
  padding: 10px 10px 0 10px;
  width: 100%;
  float: left;
}

.location:hover {
  background-color: #888;
}

.content {
 display:block;
}

.content h1 {
  font-size: 18px;
  font-weight: bolder;

}

.content h3 {
  font-size: 12px;
  padding-top: 5px;
}

.arrow  {
display: inline-block;
}

Я чувствую, что Я упускаю некоторые детали здесь, когда я использую display: inline-block на элементе стрелки. Я знаю, что .arrow работает, потому что float: right; работает на него. Я не знаю, что мне здесь не хватает. Мне нужно, чтобы текст был слева от div, а стрелка справа.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

если я вас правильно понимаю, это решит вашу проблему:

Css:

.location {
  box-sizing: border-box;
  background-color: #aaa;
  border: .02px  solid #333;
  margin: 0%;
  padding: 10px 10px 0 10px;
  width: 100%;
  /* You can solve the problem with Display flex. */
  display: flex;
  justify-content: space-between;
  align-items: center;
}
0 голосов
/ 30 апреля 2020

Не могли бы вы попробовать следующие коды? Я добавил:

  1. Добавить float: left; в css классе .content;
  2. Добавить float: right; в css классе .arrow;

body {
  background-color: #333;
  font-family: sans-serif;
  font-size: 10px;
}

.container {
  margin: 0 auto;
  width: 420px;
}

nav {
  box-sizing: border-box;
  background-color: #000;
  padding: 10px 0 15px 15px;
  width: 100%;
}

.restaurant-list {
  margin: 0 auto;
  width: 100%;
}

.location {
  box-sizing: border-box;
  background-color: #aaa;
  border: .02px  solid #333;
  margin: 0%;
  padding: 10px 10px 0 10px;
  width: 100%;
  float: left;
}

.location:hover {
  background-color: #888;
}

.content {
 float: left;
 display:block;
}

.content h1 {
  font-size: 18px;
  font-weight: bolder;

}

.content h3 {
  font-size: 12px;
  padding-top: 5px;
}

.arrow  {
  float: right;
  display: inline-block;
}
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/style.css">
    <script src="https://use.fontawesome.com/37471687aa.js"></script>
  </head>
  <body>
    <section class="container">
      <nav>
        <div class="arrow-left">
          <i class="fa fa-chevron-left fa-inverse fa-2x" aria-hidden="true"></i>
        </div>
      </nav>
      <section class="restaurant-list">
        <div class="location">
          <div class="content">
            <h1>Bakalaki Greek Taverna</h1>
            <h3>Seng Poh Road 3, Singapore</h3>
          </div>
          <div class="arrow">
            <i class="fa fa-chevron-right fa-2x" aria-hidden="true"></i>
          </div>
        </div>
      </section>
    </section>
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...