Трудности размещения элементов с помощью CSS

Я борюсь с некоторой компоновкой элементов html в моем проекте reactjs. Я новичок во всей веб-разработке, а также в css, и я абсолютно не знаю, как решить эту проблему гибким способом. Я пытаюсь решить следующее размещение элементов в моем приложении: Ссылка на то, что я пытаюсь архивировать Здесь я покажу вам, что на самом деле есть в react-jsx:

<img className = "img" src = {this.props.img_1} alt = "DummyPicture" />
      <span className = "personName">{this.props.name_1}</span>
      <span className = "personAge">({this.props.age_1})</span>
      <span className = "personMatching">
        {this.props.matching_1}% gemeinsame Interessen
      </span>

<img className = "img" src = {this.props.img_2} alt = "DummyPicture" />
    <span className = "personName">
      {this.props.name_2} ({this.props.age_2})
     </span>
     <span className = "personMatching">
       {this.props.matching_2}% gemeinsame Interessen
     </span>

И вот мой css:

.personName {
  width: 30%;
   float: left;
  margin-bottom: 5%;
   }

.personAge {
  width: 60%;
  float: left;
  margin-bottom: 5%;
 }
.personMatching {
  float: left;
  width: 70%;
    margin-bottom: 5%;
 }

.img {
  width: 48pt;
  height: 48pt;
  float: left;

  margin-left: 5%;
 }  

Я также пробовал это с такими мыслями, как flex-box или display: inline, но я думаю, что мне просто не хватает знаний об этом. Надеюсь, кто-нибудь из вас сможет мне помочь.

Я бы посоветовал почитать о том, как использовать flex-box. Flexbox froggy - хороший веб-сайт, чтобы научиться использовать его в игровой форме.

bonky fronk 03.01.2019 21:15

Согласно Prerequsites в их руководстве базовый предполагается, что вы знакомы с HTML и JavaScript. Вы не можете использовать React, не зная HTML и JavaScript. И вы не можете использовать ни один из двух без CSS. Большая часть того, что JavaScript делает в отношении DOM, - это изменение CSS (и HTML) на лету.

tao 03.01.2019 21:17
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
2
53
1

Ответы 1

Лучшая практика сегодня - использовать Flexbox.

Как вы видите в примере ниже, flex выравнивает элементы за вас.

.person {
  display: flex;
  align-items: center;
}

.info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-left: 10px;
}

.age {
  font-size: 12px;
  margin-left: 5px;
}

.matching, .name {
  margin: 5px 0;
  flex-basis: 100%;
}

.img {
  width: 48pt;
  height: 48pt;
  border-radius: 50%;
}
<div class = "person">
  <img class = "img" src = "https://randomuser.me/api/portraits/women/81.jpg" alt = "DummyPicture" />
  <div class = "info">
    <p class = "name">Caroline Scott <span class = "age">(26)</span></p>
    <p class = "matching">74% gemeinsame Interessen</p>
  </div>
</div>

Другие вопросы по теме