这是我的HTML代码:
<div class="container-fluid d-flex h-100">
<div class="white h-100" style="background-color: white;">
fixed 100px
</div>
<div class="col-3 blue h-100" style="background-color: blue;">
3
</div>
<div class="col-6 red h-100" style="background-color: red;">
6
</div>
<div class="col-3 blue h-100" style="background-color: blue;">
3
</div>
</div>
您能帮我修改一下我的代码吗?我需要在左侧柱上固定宽度,这将是100px。此列未调整大小。我需要的其余空间应该以1:2:1的比例动态调整。感谢您的帮助。
答案 0 :(得分:14)
bootstrap 4中有一个内置解决方案。
试试这个;
<div class="container">
<div class="row">
<div class="col-12 col-md">
content
</div>
<div class="col-12 col-md-auto">
<div style="background: red; width: 300px;">
sidebar
</div>
</div>
</div>
</div>
答案 1 :(得分:10)
@Denis Stephanov,您可以使用以下css规则创建一个不会缩小或增长且具有固定宽度的弹性项目:
.flex-fixed-width-item {
flex: 0 0 100px;
}
这是flex-grow
,flex-shrink
和flex-basis
的简写。您可以在此CSS-Tricks article中详细了解这些属性。
将该类添加到固定宽度列:
<div class="container-fluid d-flex h-100">
<div class="white h-100 flex-fixed-width-item" style=" background-color: white;">
fixed 100px
</div>
...
然后保持柱比相同:
...
<div class="col-2 blue h-100" style="background-color: blue;">
2
</div>
<div class="col-4 red h-100" style="background-color: red;">
4
</div>
<div class="col-2 blue h-100" style="background-color: blue;">
2
</div>
</div>
您将获得所请求的结果,您可以在此codeply project中查看。
答案 2 :(得分:4)
Bootstrap 4将其内置到其布局组件中。
<div class="container">
<div class="row">
<div class="col-4">
<!-- Set Width Column -->
</div>
<div class="col">
<!-- Variable Width Column -->
</div>
</div>
</div>
参考:https://getbootstrap.com/docs/4.0/layout/grid/#setting-one-column-width
如果您希望您的设置宽度列具有固定的像素宽度,则可以省略.col-4
并添加自定义像素宽度类。
<div class="container">
<div class="row">
<div class="col-pixel-width-100">
<!-- Set Width Column -->
</div>
<div class="col">
<!-- Variable Width Column -->
</div>
</div>
</div>
// style.css
.col-pixel-width-100 { flex: 0 0 100px; }
答案 3 :(得分:0)
这些答案都不能解决我面临的问题。 我想出了一个解决方案: (它无效但有效。)
.my-fixed-col{
width: 150px;
}
.my-fluid-col{
width: calc(100% - 150px);
}
/***/
*{
margin: 0;
padding: 0;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" />
<div class="container-fluid d-flex p-0 m-0">
<div class="row p-0 m-0 w-100">
<div class="my-fixed-col bg-primary text-white p-1">
150px fixed column
</div>
<div class="my-fluid-col bg-danger text-white p-1">
fluid column
</div>
</div>
</div>