Это можно сделать с помощью селектора css :before
или :after
в родительском элементе div / container:
Вариант 1:
body {
margin: unset;
}
.container {
border: 3px solid black;
width: 500px;
height: 100px;
padding: 0;
margin: 0 auto;
position: absolute;
top: 50%;
left: 50%;
font-size: 30px;
font-family: calibri;
overflow-y: auto;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.container:before {
content: '';
position: absolute;
bottom: 0;
background: linear-gradient(to bottom, transparent, white);
height: 50%;
width: 100%;
}
<div class="container">
<div>item1 - test</div>
<div>item2 - test</div>
<div>item3 - test</div>
<div>item4 - test</div>
<div>item5 - test</div>
</div>
https://codepen.io/anon/pen/KYRvqz
Вариант 2: (работает с прокруткой)
body {
margin: unset;
}
.containerwrapper {
border: 3px solid black;
width: 500px;
height: 100px;
padding: 0;
margin: 0 auto;
position: absolute;
top: 50%;
left: 50%;
overflow-y: auto;
font-size: 30px;
font-family: calibri;
overflow: hidden;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.containerwrapper:before {
content: '';
position: absolute;
bottom: 0;
background: linear-gradient(to bottom, transparent, white);
height: 100%;
width: 100%;
pointer-events: none;
}
.container {
width: 100%;
height: 100%;
overflow-y: scroll;
}
<div class="containerwrapper">
<div class="container">
<div>item1 - test</div>
<div>item2 - test</div>
<div>item3 - test</div>
<div>item4 - test</div>
<div>item5 - test</div>
</div>
</div>
То, что я сделал здесь, я сделал две обертки для текста и дал .contentwrapper, pointer-events: none;
, чтобы вы могли прокручивать, нажимать, наводить и т. Д. Через .contentwrapper.
Это также даст эффект затухания полосе прокрутки, чтобы исправить это, просто измените это:
.containerwrapper:before {
width: 100%;
}
до:
.containerwrapper:before {
width: calc(100% - 17px); // 17px is the width for the default scrollbar
}
https://codepen.io/anon/pen/gyzGGM?editors=1100
Надеюсь, это поможет!