我在Wordpress主题中创建了一个新的模板文件template-home2.php
。
在那里我有一个包含3列的行,我想让这些列中的每一列都可滚动而不是整个页面。我怎样才能做到这一点?
我有一个类scrollable
,我将其应用于页面的外部以使其可滚动。
<section class="<?php if( get_theme_mod( 'hide-player' ) == 0 ){ echo "w-f-md";} ?>" id="ajax-container">
<section class="hbox stretch bg-black dker">
<section>
<section class="vbox">
<section class="scrollable">
<div class="row">
<div class="col-md-5 no-padder no-gutter">
some data
</div>
<div class="col-md-4 no-padder no-gutter">
some data
</div>
<div class="col-md-3 no-padder no-gutter">
some data
</div>
</div>
</section>
</section>
</section>
</section>
</section>
当我从主要部分删除“scrollable”类并将其包含在列div中时,列会消失,其他2列会溢出到下面的元素上。
这是相关的CSS
.scrollable {
overflow-x: hidden;
overflow-y: auto;
}
.no-touch .scrollable.hover {
overflow-y: hidden;
}
.no-touch .scrollable.hover:hover {
overflow: visible;
overflow-y: auto;
}
.slimScrollBar {
border-radius: 5px;
border: 2px solid transparent;
border-radius: 10px;
background-clip: padding-box !important;
}
感谢您的帮助。
更新代码
.homecol1, .homecol2, .homecol3 {
position: absolute;
overflow-y: scroll;
}
<section class="<?php if( get_theme_mod( 'hide-player' ) == 0 ){ echo "w-f-md";} ?>" id="ajax-container">
<section class="hbox stretch bg-black dker">
<section>
<section class="vbox">
<section class="scrollable">
<div class="row">
<div class="col-md-5 no-padder no-gutter homecol1">
some data
</div>
<div class="col-md-4 no-padder no-gutter homecol2">
some data
</div>
<div class="col-md-3 no-padder no-gutter homecol3">
some data
</div>
</div>
</section>
</section>
</section>
</section>
</section>
答案 0 :(得分:7)
为实现此目的,您首先需要为每列提供class
。然后你需要给他们以下属性:
.your-class {
position: absolute;
overflow-y: scroll;
}
您可能还想提供body
财产overflow: hidden;
请告诉我这是否有效,如果没有,我会进一步帮助!
编辑:创建了一个JSFiddle
答案 1 :(得分:4)
下面的回答https://stackoverflow.com/a/53897001/11620296显示了引导程序4的解决方案,它对我来说非常有效。它已更新演示https://www.codeply.com/go/ouc3hddx5i
代码:
html
<div class="container-fluid h-100 d-flex flex-column">
<div class="row flex-shrink-0">
<div class="col-12 border">Navbar </div>
</div>
<div class="row flex-fill" style="min-height:0">
<div class="col-2 border mh-100" style="overflow-y: scroll;">Sidebar </div>
<div class="col-4 border mh-100" style="overflow-y: scroll;">
Article list
<p>Sriracha biodiesel taxidermy organic post-ironic, Intelligentsia salvia mustache 90's code editing brunch. Butcher polaroid VHS art party, hashtag Brooklyn deep v PBR narwhal sustainable mixtape swag wolf squid tote bag. Tote bag cronut semiotics,
raw denim deep v taxidermy messenger bag. Tofu YOLO Etsy, direct trade ethical Odd Future jean shorts paleo. Forage Shoreditch tousled aesthetic irony, street art organic Bushwick artisan cliche semiotics ugh synth chillwave meditation.
Shabby chic lomo plaid vinyl chambray Vice. Vice sustainable cardigan, Williamsburg master cleanse hella DIY 90's blog.</p>
<p>Ethical Kickstarter PBR asymmetrical lo-fi. Dreamcatcher street art Carles, stumptown gluten-free Kickstarter artisan Wes Anderson wolf pug. Godard sustainable you probably haven't heard of them, vegan farm-to-table Williamsburg slow-carb
readymade disrupt deep v. Meggings seitan Wes Anderson semiotics, cliche American Apparel whatever. Helvetica cray plaid, vegan brunch Banksy leggings +1 direct trade. Wayfarers codeply PBR selfies. Banh mi McSweeney's Shoreditch selfies,
forage fingerstache food truck occupy YOLO Pitchfork fixie iPhone fanny pack art party Portland.</p>
</div>
<div class="col-6 border" style="overflow-y: scroll;">Article content </div>
</div>
<div class="row flex-shrink-0">
<div class="col-12 border">Footer </div>
</div>
</div>
css
html,body {
height: 100%;
}