css - Bootstrap4,如何将可滚动列的高度限制为响应式嵌入列的高度?
问题描述
我有一个 3 列的 bootstrap 4 布局,中间列有两个嵌套列。一个是具有响应大小的嵌入式 youtube 视频,另一个是带有滚动条的文本列表。我想将可滚动列的高度(红色背景)设置为嵌入响应视频的高度,并使其可调整大小和响应,以防设备宽度不足,它应该折叠在视频下方。代码在这里https://jsfiddle.net/h7f8r1ut/
请建议是否可以在没有 javascript 代码的情况下实现这一点。
我查看了类似的问题,但无法找到适合我确切要求的解决方案。
.scroll {
text-align: left;
height: 40vh;
overflow: hidden;
overflow-y: scroll;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<div id="app">
<div class="container-fluid">
<div class="row">
<div class="col-md-2 bg-dark text-info">
left sidebar
</div>
<div class="col-md-8 bg-secondary">
<div class="container-fluid">
<div class="row">
<div class="col-md-10" id="video">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/zpOULjyy-n8?rel=0" allowfullscreen></iframe>
</div>
</div>
<div class="col-md-2 scroll bg-danger">
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
<p>11</p>
<p>12</p>
<p>13</p>
<p>14</p>
<p>15</p>
<p>16</p>
<p>17</p>
<p>18</p>
<p>19</p>
<p>20</p>
<p>21</p>
<p>22</p>
<p>23</p>
<p>24</p>
<p>25</p>
<p>26</p>
<p>27</p>
<p>28</p>
<p>29</p>
<p>30</p>
<p>31</p>
<p>32</p>
<p>33</p>
<p>34</p>
<p>35</p>
<p>36</p>
<p>37</p>
<p>38</p>
<p>39</p>
<p>40</p>
<p>41</p>
</div>
</div>
</div>
</div>
<div class="col-md-2 bg-dark text-info">
right sidebar
</div>
</div>
</div>
</div>
解决方案
您需要将可滚动内容放在position:absolute
父级中,然后overflow:auto
在列上设置。Bootstrap 4.3 和更新版本中包含了用于此目的的实用程序类。
<div class="container-fluid">
<div class="row">
<div class="col-md-10" id="video">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/zpOULjyy-n8?rel=0" allowfullscreen=""></iframe>
</div>
</div>
<div class="col-md-2 overflow-auto bg-danger">
<div class="position-absolute">
<p>1</p>
<p>2</p>
....
</div>
</div>
</div>
</div>
https://www.codeply.com/go/W0onIeqkRy
编辑:
如果您只想在较大的屏幕宽度(md 及以上)上滚动行为,您可以使用媒体查询:
@media (min-width: 768px) {
.position-md-absolute {
position: absolute;
}
}
推荐阅读
- python - 如何将 python 脚本数据存储到 Django 模型中
- jenkins - 无法理解 Jenkins 上的 scm 同步弹出消息
- java - 在保存文件之前从 StandardProtectionPolicy 获取散列密码 - 使用 Apache PDFBox
- java - 如何在 Android 上的 SdCard 根目录中创建一个新文件夹?
- javascript - 如何调用 webpack encore 中捆绑的函数
- docker - jhipster Keycloak 在 DEV 模式下不以 docker-compose 开头
- javascript - When I take data from Firebase My Html page shows [object Object]
- android - 在地图上的实时位置实时跟踪多个用户
- asp.net - 如何在 @Html,DisplayFor() 中使用 Humanize
- javascript - Marklogic xdmp.rollback() : Cannot read property 'result' of null