首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Bootstrap 4行填充剩余高度

基础概念

Bootstrap 是一个流行的前端框架,用于快速开发响应式和移动优先的网站。Bootstrap 4 提供了一系列的 CSS 类和 JavaScript 插件,帮助开发者轻松地创建复杂的布局和交互效果。

相关优势

  1. 响应式设计:Bootstrap 4 提供了强大的栅格系统,能够自动适应不同屏幕尺寸。
  2. 丰富的组件:包括导航栏、按钮、表单、模态框等,可以快速构建用户界面。
  3. 易于定制:可以通过 Sass 变量和混合宏轻松定制样式。
  4. 良好的文档和社区支持:Bootstrap 有详细的文档和活跃的社区,便于学习和解决问题。

类型

Bootstrap 4 的行填充剩余高度可以通过多种方式实现,以下是几种常见的方法:

方法一:使用 Flexbox

Bootstrap 4 基于 Flexbox,可以利用 Flexbox 的特性来实现行填充剩余高度。

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Bootstrap 4 Flexbox Example</title>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  <style>
    .full-height {
      height: 100vh;
    }
  </style>
</head>
<body>
  <div class="container-fluid full-height d-flex flex-column">
    <div class="row flex-grow-1 bg-light">
      <div class="col">
        This row will take up the remaining height.
      </div>
    </div>
    <div class="row bg-dark text-white">
      <div class="col">
        Fixed height row.
      </div>
    </div>
  </div>
</body>
</html>

方法二:使用 CSS Grid

虽然 Bootstrap 4 主要基于 Flexbox,但也可以结合 CSS Grid 来实现更复杂的布局。

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Bootstrap 4 CSS Grid Example</title>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  <style>
    .full-height {
      height: 100vh;
      display: grid;
      grid-template-rows: auto 1fr auto;
    }
    .middle {
      background-color: lightgray;
    }
  </style>
</head>
<body>
  <div class="container-fluid full-height">
    <div class="row">
      <div class="col">
        Header
      </div>
    </div>
    <div class="row middle">
      <div class="col">
        This row will take up the remaining height.
      </div>
    </div>
    <div class="row">
      <div class="col">
        Footer
      </div>
    </div>
  </div>
</body>
</html>

应用场景

这种布局方式常用于需要一个固定高度的顶部或底部导航栏,而中间内容区域需要填充剩余高度的场景,例如仪表盘、管理后台等。

常见问题及解决方法

问题:行没有填充剩余高度

原因:可能是没有正确设置容器的高度或 Flexbox 属性。

解决方法

  1. 确保父容器的高度设置为 100vh 或其他固定高度。
  2. 使用 flex-grow-1 类来使行填充剩余高度。
代码语言:txt
复制
<div class="container-fluid full-height d-flex flex-column">
  <div class="row flex-grow-1 bg-light">
    <div class="col">
      This row will take up the remaining height.
    </div>
  </div>
</div>

问题:行内元素高度不一致

原因:可能是行内元素的默认高度不一致。

解决方法

  1. 使用 Bootstrap 的 align-items 类来对齐行内元素。
  2. 手动设置行内元素的高度。
代码语言:txt
复制
<div class="container-fluid full-height d-flex flex-column align-items-stretch">
  <div class="row flex-grow-1 bg-light">
    <div class="col">
      This row will take up the remaining height and align items vertically.
    </div>
  </div>
</div>

参考链接

通过以上方法,你可以轻松实现 Bootstrap 4 中行填充剩余高度的效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • bootstrap 表格插件bootstrap-table的js设置高度高度自适应

    用js控制bootstrapTable的高度有几种方法 1、 ...260 }); }); 如果有$(document).ready(回调函数),需要加上"resetView" 否则不起作用 如果我们根据table里面的内容来确定container的高度...,当内容的高度大于窗口的高度就有滚动条,当内容的高度小于窗口的高度,container的高度设置为内容的高度 完整的js如下: $(document).ready(function() { //...设置bootstrapTable起始的高度 $('#tableTest1').bootstrapTable({ height: $(window).height() - 120 });...//当表格内容的高度小于外面容器的高度,容器的高度设置为内容的高度,相反时容器设置为窗口的高度-160 if ($(".fixed-table-body table").height() < $

    21.5K20

    第128期:Flutter的flex布局组件(row 和 column)

    如果设置的交叉轴属性为stretch,则改用与传入最大高度匹配的紧密垂直约束。 根据弹性系数在具有非零弹性系数(例如,展开的弹性系数)的子级之间划分剩余的水平空间。...使用与步骤1中相同的垂直约束来布局剩余的每个子对象,但并不使用无边界的水平约束,而是使用基于步骤2中分配的空间量的水平约束。...子元素中带有Flexible.fit属性值为tight的则强制填充分配的空间,Flexible.fit属性值为loose的,则不再强制填充分配的空间。...使用与步骤1中相同的水平约束来布局剩余的每个子对象,但不要使用无边界的垂直约束,而是使用基于步骤2中分配的空间量的垂直约束。...子元素中带有Flexible.fit属性值为tight则强制填充分配的空间),Flexible.fit属性值为loose的,则不再强制填充分配的空间。 设置Cloumn的宽度为子项的最大宽度。

    1.3K20

    BoxLayout

    使用 Box 提供的静态方法,可快速创建水平/垂直箱容器(Box),以及填充组件之间空隙的不可见组件。用水平箱和垂直箱的组合嵌套可实现类似于 GridBagLayout 的效果,但没那么复杂。...Box 提供了三种用于填充空隙的不可见组件:glue、struts 和 rigidAreas。...(); // 创建一个 垂直方向胶状 的不可见组件,用于撑满垂直方向剩余的空间(如果有多个该组件,则平分剩余空间) Component vGlue = Box.createVerticalGlue()...固定宽度或高度 的不可见组件(struts): // 创建一个 固定宽度 的不可见组件(用于水平箱) Component hStrut = Box.createHorizontalStrut(int...width); // 创建一个 固定高度 的不可见组件(用于垂直箱) Component vStrut = Box.createVerticalStrut(int height); 创建 固定宽高

    30920

    (数据科学学习手札103)Python+Dash快速web应用开发——页面布局篇

    首先要了解的是组件Container(),它是我们组织页面元素的容器,其参数fluid默认为False,会以两边填充空白区域的方式居中其内部嵌套的子元素: app3.py import dash...图6   可以看到,第一个Container()部分呈现出两边空白填充中间居中的形式,而第二个则充满了整个水平方向。...图7   可以看到当Row()部件下所有Col()部件宽度之和为12时是正好充满的,当宽度之和不足12时剩余的宽度会被空出来,而宽度之和若大于12,则会把导致宽度溢出的Col()部件挤到下一行中,所以我们在利用这种网格系统排布网页元素时要注意规范..., dbc.Container( [ dbc.Row(style={'height': '30px'}), # 利用css设置高度...center'} # 利用css设置文字居中 ), style={'margin': '6px'} # 利用css设置上下留白高度

    2K22

    Python+Dash快速web应用开发——页面布局篇

    ,首先要了解的是组件Container(),它是我们组织页面元素的容器,其参数fluid默认为False,会以两边填充空白区域的方式居中其内部嵌套的子元素: ❝app3.py ❞ import dash...) ] ) if __name__ == "__main__": app.run_server() 图6 可以看到,第一个Container()部分呈现出两边空白填充中间居中的形式...if __name__ == "__main__": app.run_server() 图7 可以看到当Row()部件下所有Col()部件宽度之和为12时是正好充满的,当宽度之和不足12时剩余的宽度会被空出来..., dbc.Container( [ dbc.Row(style={'height': '30px'}), # 利用css设置高度...center'} # 利用css设置文字居中 ), style={'margin': '6px'} # 利用css设置上下留白高度

    3.1K20

    gridbagconstraints什么意思_gridlayout布局参数

    填充空间 insert = new Insets(0, 0, 0, 0); // 组件彼此的间距 ipadx = 0; // 组件内部填充空间,即给组件的最小宽度添加多大的空间 ipady = 0;...// 组件内部填充空间,即给组件的最小高度添加多大的空间 new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty...它们一个负责组件的水平宽度(gridwidth),一个负责组件的垂直高度(gridheight )。由此我们可以知道,组件的大小是可以变化的。组件的形状是不能改变的,永远是矩形的。   ...fill可以取四种不同的值,它们分别代表了四种不同的剩余空间处理方式: GridBagConstraints.NONE   //不必理睬剩余空间的存在,让它空着好了。...GridBagConstraints.BOTH   //不让一点剩余空间存在,改变组件的大小,让它填 满分配给它的整个空间。

    66010

    CSS理解之margin

    以上两个例子是比较常见的,没有设置宽高也会自动填充所在容器。 若刚才的两个例子,如果设置了width或heigth,自动填充特性就会被覆盖。...上图宽度从填满整个所在的容器到宽度500px,这就产生了剩余空间,图中的剩余空白部分空间width=整个容器宽度-500px,而margin auto 就是 为了填充这个空白的尺寸设计的,这就是margin...所以它就不满足margin auto 用来填充剩余空间的条件,因为他根本就没有剩余空间。...image.png 上图水平方向剧中了,但是垂直方向不剧中,父级元素高度有了,子元素高度也有了,为什么还是不垂直居中呢?...因为他不满足占满整个容器这个条件,想一下,如果,没有为.son设置高度值,它之前满足占满整个容器这个条件吗?

    1.7K20

    动手实践:美化 Jenkins 报告插件的用户界面

    ECharts 是一种开放源代码的 JavaScript 可视化工具,用于创建直观、交互式和高度可定制的图表。它可以在 PC 和移动设备上流畅运行,并且与大多数现代 Web 浏览器兼容。...为了简化剩余空间中元素的分布,我们使用 Bootstrap 的栅格系统。 这意味着,一个视图被分为 12 列和任意数量的行。...附加类 py-3 定义了用于此行的填充,有关更多详细信息,请参见 Bootstrap Spacing。...第二列使用剩余空间,即 12 列中的 6 列。 第二行使用与第一行相同的布局。 第 1 行只有一列,它将填满整个可用空间。 您还可以根据屏幕的实际可见大小为一行指定不同的列布局。...此关系是必需的,以便 Jenkins 可以自动创建和绑定 Ajax 调用的代理,该代理将在创建 HTML 页面后自动填充表内容。

    6.1K10

    margin:auto实现水平垂直居中

    width: 600px; height: 400px; position: absolute; left: 50%; top: 50%; margin-top: -200px; /* 高度的一半...具有流体特性绝对定位元素的margin:auto的填充规则和普通流体元素一模一样: 如果一侧定值,一侧auto,auto为剩余空间大小; 如果两侧均是auto, 则平分剩余空间; : 例如,下面的CSS...son { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } 此时.son这个元素的尺寸表现为“格式化宽度和格式化高度...”,和的“正常流宽度”一样,同属于外部尺寸,也就是尺寸自动填充父级元素的可用尺寸的,然后,此时我们给.son设置尺寸,例如: .son { position: absolute;...因为,auto正好把上下左右剩余空间全部等分了,自然就居中啦!

    2.1K10

    从零开始学 Web 之 CSS3(七)多列布局,伸缩布局

    column-gap: 两列之间的缝隙间隔 column-rule: 规定列之间的宽度、样式和颜色 column-span: 规定元素应横跨多少列(1:跨1列 all:跨所有列) max-height: 列高度.../*如果设定列的最大高度,这个时候,文本内容会从第一列开始填充,然后第二列...*/ 如果设置列的宽度和设置列的个数时自动计算的宽度有冲突时,原则是“取大优先”。...3、flex属性(子元素使用) 3.1、flex-grow flow-grow:可以来扩展子元素的宽度:设置当前元素应该占据剩余空间的比例值,这个比例值是和其他兄弟子元素占据的剩余空间平分的。...flex: [number]:这个语法指定了一个数字,代表了这个伸缩项目该占用的剩余空间比例。...(在子元素未设置高度时有效) baseline:以子元素中文本基线对齐来来对齐*/ 问题: align-items 既然写在父元素中,是对所有子元素在侧轴方向的对齐方式进行设置。

    4K10

    初识flex布局

    flex-start 默认值 从头部开始,如果主轴是x轴侧从做到右 flex-end 与flex-start相反 center 在主轴居中对齐(如果主轴是x轴侧水平居中) space-around 平分剩余空间...左右的盒子贴近父盒子,中间的平均分布空白间距 space-around每个盒子平均分配父元素留下的左右间距 align-items:设置侧轴上的子元素排列方式(单行)* stretch默认,使子元素的高度拉伸填充父容器...自动换行(以相反的顺序) align-content设置侧轴上的子元素排列方式(多行) 前提:必须设置父元素display:flex flex-direction:row stretch使子元素的高度拉伸填充父容器...(在子元素不指定高度的情况) center垂直居中 flex-start顶部对齐 flex-end底部对齐 space-between左右的盒子贴近父盒子,中间的平均分布空白间距 space-around.../*主轴方向x,超过换行*/ flex-flow:row wrap 子元素属性 order:设置元素排列顺序,值越小排在最前,默认0 flex-grow num:定义子元素的放大比例;如果父元素还有剩余空间

    72610

    【愚公系列】2023年10月 WPF控件专题 DockPanel控件详解

    一、DockPanel控件详解 WPF中的DockPanel控件是一种面板控件,它可以将其子控件沿着指定的边缘对齐并填充整个可用空间。...Button Content="Center" /> 1.属性介绍 在WPF中,DockPanel控件有以下属性: LastChildFill:一个布尔值,确定最后一个子元素是否填充剩余空间...如果是 true,则最后一个子元素将填充剩余空间。如果是 false,则最后一个子元素将不会填充剩余空间。 Dock:指定元素在DockPanel中的位置。可以将元素靠左、靠右、靠上或靠下排列。...Height:指定DockPanel的高度。 VerticalAlignment:指定DockPanel在父元素中的垂直对齐方式。...--LastChildFill 默认为true 最后的元素完全填充剩余的部分--> <!

    59600

    css笔记 - 张鑫旭css课程笔记之 margin 篇

    如果改为block元素,再加上宽度的设置,auto才会计算剩余空间。 margin自动填充width剩余部分的空间。不计算height是因为高度上不会有剩余空间。...就好像内联元素没有填充水平宽度就没有水平方向的剩余空间是一样的。...竟然还可以这么写:  margin: 20px 30px 10px auto; 也就是对立 方位的margin属性值,其中一个设置固定值后,另一个可以设置auto,则会自动填充剩余空间。...,我的高度也不会自动填充整个父元素的高度,就像内联元素不会自动填充父元素的宽度一样,所以auto没有办法计算我的高度剩余空间,也就不会有高度自动填充这一说了。...因为宽度不会自动填充了。 2.

    2.6K20
    领券