[英]Add linear gradient to a scrollable div
我需要在可滾動 div 的底部添加白色線性漸變,它應該始終位於 div 的底部。 我使用固定位置添加它,它適用於除 IE >= 9 之外的所有瀏覽器。我需要它用於所有瀏覽器,包括 IE>=9。 它應該看起來像這樣 - http://prntscr.com/ne3rfe
這是那個div的css代碼
.perfect-scrollbar::before {
content: "";
position: fixed;
overflow: hidden;
width: 100%;
height: 100%;
bottom: 0;
background: #7db9e8;
background: -moz-linear-gradient(top, #7db9e8 0%, #1e5799 101%);
background: -webkit-linear-gradient(top, #7db9e8 0%, #1e5799 101%);
background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 60%, rgba(255, 255, 255, .8) 101%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7db9e8', endColorstr='#1e5799', GradientType=0);
}
您可以使用父 div/容器上的:before
或:after
css 選擇器來執行此操作:
選項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
選項 3(無需絕對定位即可工作):
請參閱kmoser 的回答。
希望這可以幫助!
當您可以絕對定位包含的 div 時,@Tigerrrrr 發布的選項 2 效果很好,但這在 div 需要保持在正常文檔流中的頁面上並不總是可行的。
這是一個不必絕對定位的示例。
div.main { background-color: black; color: white; } h1 { color: yellow; } div.songs-wrapper { width: 100%; position: relative; } div.songs-wrapper::after { content: ""; position: absolute; bottom: 0; left: 0; right: 15px; height: 120px; background-image: linear-gradient( to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 100% ); } div.songs { overflow-y: scroll; height: 400px; display: block; scrollbar-width: thin; scrollbar-color: #ff2222 #444444; padding: 0px 5% 0px 5%; } div.songs ul { margin: 0; padding: 0; padding-bottom: 50px; /* So we scroll just past the faded part */ -webkit-columns: 250px 3; -moz-columns: 250px 3; columns: 250px 3; } div.songs li { text-align: center; font-size: 1.2rem; line-height: 1.4rem; margin-bottom: 10px; list-style-type: none; /* '\2022'; */ -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; }
<div class="main"> <h1>Stuff Before</h1> <div class="songs-wrapper"> <div class="songs"> <ul> <li> Accentuate the Positive <span>(F)</span> </li> <li> Ain't Misbehavin' <span>(Bb)</span> </li> <li> All of Me <span>(C)</span> </li> <li> All of You <span></span> </li> <li> All or Nothing at All <span>(C)</span> </li> <li> All the Things You Are <span>(Ab)</span> </li> <li> Almost Like Being In Love <span>(Bb)</span> </li> <li> April in Paris <span>(Ab)</span> </li> <li> Autumn Leaves <span>(Em)</span> </li> <li> Be Careful, It's My Heart <span>(F)</span> </li> <li> The Best Things in Life are Free <span>(C)</span> </li> <li> Bewitched <span>(C)</span> </li> <li> Blue Skies <span>(Eb)</span> </li> <li> The Boulevard of Broken Dreams <span></span> </li> <li> But Not For Me <span>(Bb)</span> </li> <li> Bye Bye Blackbird <span>(F)</span> </li> <li> Call Me <span>(G)</span> </li> <li> Candy <span>(F)</span> </li> <li> Cheek to Cheek <span>(Ab)</span> </li> <li> Coquette <span>(C)</span> </li> <li> Cry Me a River <span>(C)</span> </li> <li> Don't Get Around Much Anymore <span>(C)</span> </li> <li> East of the Sun and West of the Moon <span>(G)</span> </li> <li> Embraceable You <span>(F)</span> </li> <li> Ev'ry Time We Say Goodbye <span>(C)</span> </li> <li> Fly Me To The Moon <span>(C)</span> </li> <li> The Frim Fram Sauce <span>(Bb)</span> </li> <li> From This Moment On <span>(Ab)</span> </li> <li> Get Me to the Church on Time <span>(G)</span> </li> <li> The Girl From Ipanema <span>(F)</span> </li> <li> Have You Met Miss Jones? <span>(F)</span> </li> <li> Hello, Young Lovers <span>(C)</span> </li> <li> Honeysuckle Rose <span>(F)</span> </li> <li> How Deep is the Ocean? <span>(C)</span> </li> <li> I Believe in You <span>(G)</span> </li> <li> I Can't Give You Anything But Love <span>(G)</span> </li> <li> I Could Write a Book <span>(Bb)</span> </li> <li> I Love Paris <span>(C)</span> </li> <li> I Wish I Were in Love Again <span>(G)</span> </li> <li> I Wish You Love <span>(Eb)</span> </li> <li> I'll Be Seeing You <span>(Bb)</span> </li> <li> I'll Never Smile Again <span>(C)</span> </li> <li> I'm Beginning to See the Light <span>(G)</span> </li> <li> I'm Gonna Sit Right Down and Write Myself a Letter <span>(C)</span> </li> <li> I've Got My Love to Keep Me Warm <span>(Eb)</span> </li> <li> I've Got the World On a String <span>(C)</span> </li> <li> I've Got You Under My Skin <span>(C)</span> </li> <li> I've Never Been In Love Before <span>(G)</span> </li> <li> If I Didn't Care <span>(Bb)</span> </li> <li> If I Were a Bell <span>(C)</span> </li> <li> In the Wee Small Hours of the Morning <span>(C)</span> </li> <li> Is You Is, Or Is You Ain't My Baby? <span>(Ab)</span> </li> <li> It All Depends on You <span>(G)</span> </li> <li> It Don't Mean a Thing (If It Ain't Got That Swing) <span>(Bb)</span> </li> <li> It Had to be You <span>(Eb)</span> </li> </ul> </div> </div> <h1>Stuff After</h1> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.