【发布时间】:2019-11-17 06:47:59
【问题描述】:
我正在尝试重新创建 Airbnb 的搜索页面 UI(例如 https://www.airbnb.nl/s/Paris/homes)。不幸的是,我在将地图部分扩展到视口的最右边时遇到了一些困难。
这就是我需要的:https://i.ibb.co/zrpwYhC/Artboard.jpg
Stack Overflow 上有一些相关的问题和答案。 然而,它们似乎不遵循网格系统,需要 Javascript 或将(非常高的)宽度设置为展开的元素。
我自己尝试过的绝对是将地图定位在右侧(网格系统之外)并赋予其特定宽度。这可行,但并不可取。
我也检查了 Airbnb 的源代码,但他们似乎有一个自定义网格,由于我的知识有限,我不太了解。
我创建了一个自定义的基础 CSS 和 HTML:https://jsfiddle.net/Lwhgpzrt/
.suggestions {
background-color: #F2F2F2;
border: 1px solid #000;
}
.result-wrapper {
padding-top: 45px;
padding-bottom: 45px;
background-color: lightskyblue;
border: 1px solid #000;
}
.result {
background-color: white;
margin-top: 15px;
margin-bottom: 15px;
padding: 30px;
border: 1px solid #000;
}
.map-wrapper {
height: 100%;
background-color: lawngreen;
border: 1px solid #000;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<section class="suggestions">
<div class="container">
<div class="row">
<div class="col-8">
<div class="result-wrapper">
<div class="row">
<div class="col-12"><div class="result">Result here</div></div>
<div class="col-12"><div class="result">Result here</div></div>
<div class="col-12"><div class="result">Result here</div></div>
</div>
</div>
</div>
<div class="col-4">
<div class="map-wrapper">Google Map here</div>
</div>
</div>
</div>
</section>
我希望地图元素遵循 Bootstrap 的网格系统,但会扩展/溢出并恰好在视口的右边缘结束。
最重要的是解决方案应该遵循 Bootstrap 网格系统。最好它也是一个纯 CSS 的解决方案。
谁能把我推向正确的方向?非常感谢您的帮助。
【问题讨论】:
标签: css layout bootstrap-4 grid responsive