Как центрировать элементы в файле .jsx?

Я только начинаю веб-разработку. В настоящее время я изучаю Node.js и React с Vite. Я не мог правильно центрировать меню заголовка, и все, что я нашел в Интернете, не работало. Вероятно, это что-то очень элементарное, но, как я уже сказал, я новичок. Спасибо за вашу помощь!

function Header() {
    const ulStyle = {
        display: "flex",
        flexDirection: "row",
        backgroundColor: "#2b2b2b",
        alignItems: "center"
    }
    const liStyle = {
        flexGrow: "1",
        flexBasis: "0",
        position: "relative"
    }
    return (
        <header>
            <h1>Website</h1>
            <nav>
                <ul style = {ulStyle}>
                    <li><a href = "#" style = {liStyle}>Home</a></li>
                    <li><a href = "#" style = {liStyle}>About</a></li>
                    <li><a href = "#" style = {liStyle}>Services</a></li>
                    <li><a href = "#" style = {liStyle}>Contact</a></li>
                </ul>
            </nav>
        </header>
    );
}

Или в простом HTML

.ulStyle {
  display: flex;
  flex-direction: row;
  background-color: #2b2b2b;
  align-items: center;
}

.liStyle {
  flex-grow: 1;
  flex-basis: 0;
  position: relative;
}
<header>
  <h1>Website</h1>
  <nav>
    <ul class = "ulStyle">
      <li><a href = "#" class = "liStyle">Home</a></li>
      <li><a href = "#" class = "liStyle">About</a></li>
      <li><a href = "#" class = "liStyle">Services</a></li>
      <li><a href = "#" class = "liStyle">Contact</a></li>
    </ul>
  </nav>
</header>

Свойство выравнивания по главной гибкой оси — justify-content; align-items работает на вторичной оси.

CBroe 17.07.2024 09:30

В простом CSS ваши правила будут другими, поскольку в них не используется верблюжий регистр: flex-direction, background-color и т. д.

Andy 17.07.2024 09:56

@Энди, ой, это моя вина. я добавил фрагмент

Phil 18.07.2024 01:07
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
3
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Как отметил @CBbore, вам просто нужно изменить alignItems на justify-content. Вот как это будет выглядеть в вашем коде

.ulStyle {
  display: flex;
  flex-direction: row;
  background-color: #2b2b2b;
  align-items: center;
  justify-content: center; /* here */

}

.liStyle {
  flex-grow: 1;
  flex-basis: 0;
  position: relative;
}
<header>
  <h1>Website</h1>
  <nav>
    <ul class = "ulStyle">
      <li><a href = "#" class = "liStyle">Home</a></li>
      <li><a href = "#" class = "liStyle">About</a></li>
      <li><a href = "#" class = "liStyle">Services</a></li>
      <li><a href = "#" class = "liStyle">Contact</a></li>
    </ul>
  </nav>
</header>

Простой CSS неправильный — см. мой комментарий под публикацией.

Andy 17.07.2024 09:57

Спасибо, что не понизили меня, а объяснили, но я не могу понять, о чем вы, есть ссылка по теме? Я хочу понять больше

Agota Kristof 17.07.2024 10:02

Ваше решение сработало, большое спасибо.

Wittima 17.07.2024 10:19

В вопросе, объясняющем код, в ОП есть примеры использования как CSS внутри объекта JavaScript (в этом случае правила указаны в CamelCase), так и в простом CSS, но у них неверный пример простого CSS: правила не должны быть в CamelCase. но через дефис. Если вы измените backgroundColor на background-color, вы должны увидеть разницу в своем фрагменте. justify-content работает только потому, что это правильный синтаксис правила.

Andy 17.07.2024 10:20

Я исправил часть вопроса, связанную с простым CSS, спасибо @Andy

Wittima 17.07.2024 10:26

Еще раз спасибо за объяснение!! А по поводу ремонта...

Agota Kristof 17.07.2024 10:32

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