Почему из-за absolute элемента есть прокрутка
Почему, когда я задаю transform элементу, появляется полоса прокрутки? Как от этого избавиться, не делая overflow: hidden?
@import url('https://fonts.googleapis.com/css?family=Lato:400,700|Open+Sans:400,600,700|Raleway:400,900&display=swap');
/*
font-family: 'Raleway', sans-serif;
font-family: 'Open Sans', sans-serif;
font-family: 'Lato', sans-serif;
*/
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body {
margin: 0;
font-size: 16px;
font-family: 'Open Sans', sans-serif;
}
html {
scroll-behavior: smooth;
}
img {
display: block;
max-width: 100%;
height: auto;
}
section {
padding: 40px 0;
}
:root {
--time: .2s ease-in-out;
}
.super {
position: relative;
}
.container {
max-width: 1300px;
width: 100%;
margin: 0 auto;
padding: 0 10px;
}
.container.fluid {
padding: 0;
margin: 0;
max-width: none;
}
.super__title {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: space-between;
text-align: center;
align-items: center;
}
.super__title>* {
flex: 1;
}
.super__title div {
padding: 0 10px;
}
.super__title span {
height: 1px;
background-color: black;
}
.question__title {
text-align: center;
font-weight: bold;
font-size: 30px
}
.question__option {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: space-around;
}
.question__card__wrapper {
flex: 1;
}
.question__card {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-direction: column;
max-width: 300px;
min-height: 400px;
float: right;
margin-right: 30px;
}
.question__card__wrapper:nth-child(n+2) .question__card {
float: left;
margin-left: 30px;
}
.question__card-img {
max-width: 150px;
max-height: 150px;
transform-origin: left top;
transition: transform var(--time);
margin-bottom: 20px;
}
.question__card-img img {
border-radius: 50%;
}
.line {
margin-top: 30px;
position: relative;
flex: 1;
border-left: 1px solid black;
padding-left: 15px;
margin-left: -15px;
}
.line>*:not(:first-child) {
margin-top: 10px;
}
.question__card-answer {
font-weight: bold;
font-size: 22px;
}
.question__card-btn {
background-color: rgba(56, 179, 172, 1);
text-align: center;
display: inline-block;
padding: 10px 20px;
color: white;
transition: background-color var(--time);
}
.question__card__wrapper:hover .question__card-btn {
background-color: rgba(56, 179, 172, 0.6);
}
.question__card__wrapper:hover .question__card-img {
transform: scale(1.2);
}
.question__card__wrapper::before {
position: absolute;
content: '';
display: block;
height: calc(100% - 80px);
width: calc(100% / 2);
top: 40px;
background-color: rgba(250, 233, 213, 1);
z-index: -1;
transform: translateX(-100%);
transition: transform var(--time);
}
.question__card__wrapper:nth-child(n+2)::before {
transform: translateX(100%);
right: 0;
}
.question__card__wrapper:hover::before {
transform: translateX(0%);
}
<section class="super">
<div class="container">
<div class="super__content">
<div class="super__title">
<span></span>
<div>Диагностика волос и кожи головы</div>
<span></span>
</div>
<p class="current__question">
Вопрос <b>1</b> из 6
</p>
<p class="question__title">Окрашиваете ли вы волосы?</p>
</div>
<!-- .super__content -->
</div>
<!-- .container -->
<div class="container fluid">
<div class="question__option">
<div class="question__card__wrapper">
<div class="question__card">
<div class="question__card-img">
<img src="https://picsum.photos/600/600">
</div>
<div class="line">
<div class="question__card-answer">Да</div>
<div class="question__card-text">Вы регулярно окрашиваете волосы стойкой, краской тон в тон или делаете мелирование.</div>
<div class="question__card-btn">Выбрать</div>
</div>
</div>
</div>
<!-- .question__card__wrapper -->
<div class="question__card__wrapper">
<div class="question__card">
<div class="question__card-img">
<img src="https://picsum.photos/500/500">
</div>
<div class="line">
<div class="question__card-answer">Нет</div>
<div class="question__card-text">Вы не красили волосы более года.</div>
<div class="question__card-btn">Выбрать</div>
</div>
</div>
</div>
<!-- .question__card__wrapper -->
</div>
<!-- .question__option -->
</div>
<!-- .container.fluid -->
</section>
Ответы (1 шт):
Автор решения: Роман Мереняну-Ени
→ Ссылка
У вас в элементе с классом .super отсутствует позиционирование к родительскому элементу.. вам нужно решить вопрос с этим элементом, это на первый взгляд. Но думаю именно тут вся загвоздка.