Показать горизонтальную полосу прокрутки внизу экрана, а не внизу элемента - PullRequest
0 голосов
/ 29 марта 2020

У меня есть веб-сайт с длинным контентом, поэтому веб-сайт должен иметь вертикальную прокрутку. Тем не менее, есть также горизонтальный прокручиваемый div в нижней части страницы. К сожалению, горизонтальная полоса прокрутки этого элемента не видна, пока пользователь не прокрутит вниз. Есть ли способ показать горизонтальную полосу прокрутки всегда внизу экрана? Здесь является примером.

.container {
  overflow-y: auto;
  overflow-x: hidden;
}

.content {
  background-color: lightblue;
  height: 5rem;
}

.scrollable-content {
  background-color: lightgreen;
  height: 100vh;
  overflow-x: auto;
  width: 100%;
}

.wide-content {
  width: 150vw;
}
<div class="container">
  <div class="content">
    Div which is not horizontally scrollable
  </div>
  <div class="scrollable-content">
    Div which is horizontally scrollable
    <div class="wide-content">
      Some wide content
    </div>
  </div>
</div>

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

Вы должны добавить несколько -webkit-scrollbar селекторов в css к , чтобы показывать полосу прокрутки каждый раз. Посмотрите на пример ниже:

.scrollable-content::-webkit-scrollbar {
    -webkit-appearance: none;
}
.scrollable-content::-webkit-scrollbar:horizontal {
    height: 11px;
}
.scrollable-content::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 2px solid white;
    background-color: rgba(0, 0, 0, .5);
}
.scrollable-content::-webkit-scrollbar-track { 
    background-color: #fff; 
    border-radius: 8px; 
} 


.container {
  overflow-y: auto;
  overflow-x: hidden;
}

.content {
  background-color: lightblue;
  height: 5rem;
}

.scrollable-content {
  background-color: lightgreen;
  height: 30vh;
  overflow-x: auto;
  width: 100%;
}

.wide-content {
  width: 150vw;
}
<div class="container">
   <div class="content">
        Div which is not horizontally scrollable
   </div>
   <div class="scrollable-content" style="width:500px; overflow-x:scroll; border:dotted 1px; white-space: nowrap;padding-bottom:10px;">
    	Div which is horizontally scrollable
      <div class="wide-content">
           Some wide content
      </div>
   </div>
</div>

Надеюсь, решение будет таким, как вы его себе представляли

0 голосов
/ 29 марта 2020

Я изменил scrollable-content на это:

.scrollable-content {
  background-color: lightgreen;
  height: 89vh;
  width: 1000%;
}

и тело на это:

body {
 overflow: hidden;
}

Надеюсь, это поможет

...