Как я могу не допустить, чтобы ширина моего меню слайдов влияла на ширину моей главной страницы в css

#css #reactjs

Вопрос:

Я создаю меню слайдов, которое появится справа от моей страницы, нажав на кнопку, когда я нажимаю на кнопку для переключения, меню слайдов влияет на ширину всей страницы. У меня есть 100% ширины моей страницы с максимальной шириной 1440 пикселей плюс ширина слайда, которая составляет 400 пикселей.

Я знаю, может быть, это как-то связано с функцией calc, но у меня есть стек?

<— Компонент слайда —>

 const SlideNav = () => {
    return (
       <nav className="slide">
           <div className="product-details">
               <div className="img-container">
                   <img src="./Pictures/FreeGuy.jpg" alt="FreeGuy" />
               </div>
               <div className="product info">
                   <h1 className="title">Free Guy movie</h1>
                   <div className="quantity">
                       <h4>Quantity</h4>
                       <span>4</span>
                   </div>
                   <h5 className="prix">11

lt;/h5>
<button className="btn-checkout">Continue to checkout</button>
</div>
</div>
</nav>
)
}

export default SlideNav;

<— Css компонента слайда —>

 .slide {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
  height: 100vh;
  width: 500px;
  color: #ffff;
  transform: translateX(500px);
}

.product-details {
  display: flex;
  position: absolute;
  top: 90px;
  left: 60px;
}

.img-container {
  width: 200px;
  height: 300px;
  margin-right: 20px;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5px;
}
 

<— Файл CSS приложения для изменения значения слайда и добавления класса показать класс для переключения слайда —>

 body {
  font-family: "Poppins", sans-serif;
  background-color: #e9f4fc;
  color: #000;
}

.App {
  width: 100%;
}

.App.showClass {
  transform: translateX(0%);
}

.App .page-wrapper {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
}
 

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

1. «. слайд «имеет позицию «абсолютную», но эта позиция рассчитывается в соответствии с ближайшим родителем с позицией, отличной от «статической». Попробуйте добавить «положение: относительно» в самый верхний контейнер всей страницы. Это может помочь.