Центральный компонент в реакции

Здравствуйте, у меня есть следующий компонент заголовка:

import React from 'react';
import './style.css';
import SearchBar from './SearchBar';
import logo from '../../assets/logo.png';

export default function Header() {
  return (
    <>
      <div className = "header-top"></div>
      <div className = "header">
        <img className = "header__logo" src = {logo} />
        <SearchBar />
      </div>
    </>
  );
}

И компонент панели поиска, который импортируется в заголовок:

import React from 'react';

export default function SearchBar() {
  return (
    <div className = "search-form-container">
      <form className = "search-form">
        <input
          type = "text"
          className = "search-form__input"
          placeholder = "Zoeken naar merken of producten..."
        ></input>
      </form>
    </div>
  );
}

и css:

.header-top {
  width: 100%;
  height: 30px;
  background: black;
  color: white;
  font-weight: bold;
}

.header {
  width: 100%;
  background: white;
  height: 60px;
  box-shadow: 0px 11px 13px -9px rgba(141, 141, 141, 0.75);
  display: flex;
  align-items: center;
}

.header__logo {
  height: 20px;
  padding-right: 100px;
  object-fit: contain;
}

.search-form__input {
  width: 700px;
  height: 45px;
  border: none;
  background: #f6f6f6;
  padding-left: 20px;
  color: black;
  border-radius: 5px;
}

Полученный результат таков:

я хочу, чтобы центрировать панель поиска внутри заголовка. Но только панель поиска. я бы хотел, чтобы логотип оставался отдельным с правой стороны. Когда я добавляю justify-content:center, он центрирует все, включая логотип.

Как мне добиться этого результата? заранее спасибо

Это не React конкретный вопрос, это CSS вопрос. Создайте контейнер, который обертывает вашу панель поиска и центрирует элемент (панель поиска) только внутри него с помощью justify-content: center или любого другого метода, который вы предпочитаете.

goto 15.12.2020 00:15

@goto1 goto1 я не был уверен, добавлю ли я тег реакции, некоторые люди, у которых нет опыта реакции, могут бояться отвечать или что-то в этом роде

Kevin.a 15.12.2020 00:18

Вы просите помочь со стилем — React не несет ответственности за этот аспект вашей страницы. Если убрать React из этого вопроса, решение будет точно таким же.

goto 15.12.2020 00:23
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в 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. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
3
556
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

<div className = "header">
        <img className = "header__logo" src = {logo} />
        <SearchBar />
      </div>

будет, как

<div className = "header">
        <img className = "header__logo" src = {logo} />
        <div className = "justify-center">
           <SearchBar />
        </div>
   </div>

в вас css вы можете изменить ситуацию с помощью

.justify-center{ display:flex; justify-content:center;}

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