使用 CSS 防止文本在锚定按钮上滚动
Preventing Text from Scrolling Over Anchored Button Using CSS
我有一个锚定在页面左下角的按钮,因为我希望它可以随时访问,如果上面的内容太多则不需要滚动。这是我目前要完成的css:
.add-button {
font-size: 18px;
background-color: #cfcfcf;
padding: 10px 45px;
position: absolute;
left: 20px;
bottom: 20px;
}
现在我想这样做,如果有可滚动的内容,内容不会滚动 "behind" 按钮,而是从按钮上方某个位置的视图中消失。顺便说一下,包含 div 的标题是 "side-panel"。我怎么能用 css 做到这一点?
您应该在页脚中使用固定位置容器,该容器横跨整个浏览器宽度(背景颜色与文本所在的正文背景相同),并将按钮放在其中。然后你的内容自然会在它后面滚动。内容'disappearing some place above the button'可以通过调整容器上的padding(或padding-top)来完成
#footer {
position: fixed;
bottom: 0;
width: 100%;
padding: 10px;
background-color: #fff;
}
<div id='wrapper'>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque finibus facilisis molestie. Cras vulputate velit in nulla gravida, malesuada ultrices quam tempor. Vestibulum dapibus sapien lectus, quis sollicitudin neque scelerisque et. Vivamus faucibus sem eget libero volutpat, et tincidunt purus lobortis. Duis volutpat diam risus, sed molestie tortor viverra id. Vestibulum nec eros et est hendrerit finibus. Aliquam erat volutpat. Cras massa erat, semper sed pharetra nec, tempus sed felis.</p>
<p>Pellentesque odio quam, tincidunt dictum metus sit amet, sollicitudin pretium ligula. Etiam mollis orci quis massa vestibulum, vitae elementum urna dapibus. Nulla facilisi. Cras quis enim sit amet leo condimentum porttitor id non tortor. Phasellus sapien lorem, rhoncus eu nisi feugiat, vestibulum imperdiet risus. In dictum ligula est, vel porttitor lectus ultrices eu. Etiam aliquet ante molestie, sodales mauris eget, finibus velit. Maecenas feugiat nisl libero, in lacinia elit ornare ac.</p>
<p>Maecenas id dignissim mauris, eget elementum massa. Morbi in dictum libero. Integer euismod tortor non arcu cursus laoreet. Aenean eleifend mi metus, eget semper nunc euismod luctus. Mauris venenatis volutpat mauris ut porta. Maecenas felis risus, consequat iaculis ipsum varius, tempus semper magna. Vestibulum vitae nisi nibh. Nam in tortor quis lacus tristique porta ac at risus. Praesent convallis, felis eget imperdiet porta, arcu sem facilisis elit, quis posuere lacus turpis quis ex. Etiam finibus lorem commodo nunc ultrices egestas. Etiam tempus volutpat bibendum. Vivamus ornare, odio vitae pharetra fringilla, turpis arcu luctus velit, a posuere lectus lacus id purus. Nam in malesuada tortor. Nunc pulvinar venenatis urna, in finibus nisi dapibus quis.</p>
<p>Donec cursus risus non augue rutrum, at venenatis augue tincidunt. Phasellus interdum elementum quam, quis laoreet enim blandit sed. Mauris ut est non lectus mollis egestas a vitae purus. Nunc porta dui massa, eget tempor quam venenatis vel. Donec dignissim sollicitudin massa, ac convallis nisl dictum sed. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent non dui ullamcorper, rutrum lectus in, euismod mauris. Curabitur imperdiet ut magna nec pretium.</p>
<p>Nunc vitae congue nunc. Aenean eget justo ante. Suspendisse nec molestie orci. Suspendisse ac consequat orci, in consequat risus. Vestibulum volutpat, erat ut egestas scelerisque, sapien diam mattis mauris, malesuada facilisis elit dui in urna. Aliquam erat volutpat. Aliquam erat volutpat. Maecenas venenatis tincidunt massa at imperdiet. Praesent auctor euismod purus, id iaculis sem placerat vitae. Aliquam erat volutpat.</p>
<div id='footer'>
<button id='button' value='Foo'>Foo!</button>
</div>
</div>
我有一个锚定在页面左下角的按钮,因为我希望它可以随时访问,如果上面的内容太多则不需要滚动。这是我目前要完成的css:
.add-button {
font-size: 18px;
background-color: #cfcfcf;
padding: 10px 45px;
position: absolute;
left: 20px;
bottom: 20px;
}
现在我想这样做,如果有可滚动的内容,内容不会滚动 "behind" 按钮,而是从按钮上方某个位置的视图中消失。顺便说一下,包含 div 的标题是 "side-panel"。我怎么能用 css 做到这一点?
您应该在页脚中使用固定位置容器,该容器横跨整个浏览器宽度(背景颜色与文本所在的正文背景相同),并将按钮放在其中。然后你的内容自然会在它后面滚动。内容'disappearing some place above the button'可以通过调整容器上的padding(或padding-top)来完成
#footer {
position: fixed;
bottom: 0;
width: 100%;
padding: 10px;
background-color: #fff;
}
<div id='wrapper'>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque finibus facilisis molestie. Cras vulputate velit in nulla gravida, malesuada ultrices quam tempor. Vestibulum dapibus sapien lectus, quis sollicitudin neque scelerisque et. Vivamus faucibus sem eget libero volutpat, et tincidunt purus lobortis. Duis volutpat diam risus, sed molestie tortor viverra id. Vestibulum nec eros et est hendrerit finibus. Aliquam erat volutpat. Cras massa erat, semper sed pharetra nec, tempus sed felis.</p>
<p>Pellentesque odio quam, tincidunt dictum metus sit amet, sollicitudin pretium ligula. Etiam mollis orci quis massa vestibulum, vitae elementum urna dapibus. Nulla facilisi. Cras quis enim sit amet leo condimentum porttitor id non tortor. Phasellus sapien lorem, rhoncus eu nisi feugiat, vestibulum imperdiet risus. In dictum ligula est, vel porttitor lectus ultrices eu. Etiam aliquet ante molestie, sodales mauris eget, finibus velit. Maecenas feugiat nisl libero, in lacinia elit ornare ac.</p>
<p>Maecenas id dignissim mauris, eget elementum massa. Morbi in dictum libero. Integer euismod tortor non arcu cursus laoreet. Aenean eleifend mi metus, eget semper nunc euismod luctus. Mauris venenatis volutpat mauris ut porta. Maecenas felis risus, consequat iaculis ipsum varius, tempus semper magna. Vestibulum vitae nisi nibh. Nam in tortor quis lacus tristique porta ac at risus. Praesent convallis, felis eget imperdiet porta, arcu sem facilisis elit, quis posuere lacus turpis quis ex. Etiam finibus lorem commodo nunc ultrices egestas. Etiam tempus volutpat bibendum. Vivamus ornare, odio vitae pharetra fringilla, turpis arcu luctus velit, a posuere lectus lacus id purus. Nam in malesuada tortor. Nunc pulvinar venenatis urna, in finibus nisi dapibus quis.</p>
<p>Donec cursus risus non augue rutrum, at venenatis augue tincidunt. Phasellus interdum elementum quam, quis laoreet enim blandit sed. Mauris ut est non lectus mollis egestas a vitae purus. Nunc porta dui massa, eget tempor quam venenatis vel. Donec dignissim sollicitudin massa, ac convallis nisl dictum sed. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent non dui ullamcorper, rutrum lectus in, euismod mauris. Curabitur imperdiet ut magna nec pretium.</p>
<p>Nunc vitae congue nunc. Aenean eget justo ante. Suspendisse nec molestie orci. Suspendisse ac consequat orci, in consequat risus. Vestibulum volutpat, erat ut egestas scelerisque, sapien diam mattis mauris, malesuada facilisis elit dui in urna. Aliquam erat volutpat. Aliquam erat volutpat. Maecenas venenatis tincidunt massa at imperdiet. Praesent auctor euismod purus, id iaculis sem placerat vitae. Aliquam erat volutpat.</p>
<div id='footer'>
<button id='button' value='Foo'>Foo!</button>
</div>
</div>