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

使自动溢出div居中占用bootstrap 4.1.3中的剩余空间

在Bootstrap 4.1.3中,要使一个自动溢出的div居中并占用剩余空间,可以使用Flexbox布局。以下是实现这一目标的基础概念和相关步骤:

基础概念

  1. Flexbox布局:Flexbox是一种CSS布局模式,用于在一维空间内排列和对齐元素。
  2. Bootstrap Flex工具类:Bootstrap提供了一系列Flexbox工具类,方便快速实现复杂的布局。

实现步骤

  1. 创建一个容器:使用Bootstrap的.container.container-fluid类来创建一个容器。
  2. 设置Flexbox布局:在容器上应用.d-flex类,使其成为一个Flex容器。
  3. 居中对齐:使用.justify-content-center.align-items-center类将内容水平和垂直居中。
  4. 设置溢出:在需要溢出的div上应用.overflow-auto类,使其内容超出时显示滚动条。

示例代码

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Centered Overflow Div</title>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
  <style>
    .content {
      height: 100vh; /* 设置高度为视口高度 */
      width: 100%;
    }
    .overflow-div {
      max-height: 80%; /* 设置最大高度 */
      width: 80%; /* 设置宽度 */
      background-color: #f8f9fa;
      padding: 20px;
      border: 1px solid #dee2e6;
    }
  </style>
</head>
<body>
  <div class="container d-flex justify-content-center align-items-center h-100">
    <div class="overflow-div overflow-auto">
      <!-- 这里放置你的内容 -->
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
      <!-- 添加更多内容以测试溢出效果 -->
    </div>
  </div>

  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
</body>
</html>

解释

  • .container:创建一个响应式固定宽度的容器。
  • .d-flex:将容器设置为Flexbox布局。
  • .justify-content-center:水平居中对齐内容。
  • .align-items-center:垂直居中对齐内容。
  • .overflow-div:自定义样式类,用于设置溢出div的最大高度和宽度。
  • .overflow-auto:当内容超出容器时显示滚动条。

应用场景

  • 仪表盘:在仪表盘中居中显示关键信息,并允许用户滚动查看更多详细内容。
  • 登录页面:在登录页面中居中显示登录表单,并允许用户在移动设备上滚动查看提示信息。

通过以上步骤和示例代码,你可以轻松实现一个自动溢出的div在Bootstrap 4.1.3中居中并占用剩余空间。

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

相关·内容

CSS实用技巧(中)

class="box"> div class="box-item">div> div> 出现这种现象是因为margin:auto本质上是平分元素剩余可用空间,块级元素一般是水平方向自动充满...平常我们用margin: 0 auto;之所以能够使块级元素水平居中,是因为水平方向元素存在剩余可用空间,而auto平分剩余可用空间,因此就产生居中效果。...而垂直方向不存在剩余可用空间,因此无法垂直居中。...上述demo,box-item之所以能够垂直居中,得益于top/bottom设置了值,使元素产生高度100%的外部尺寸,而width/height固定元素的内部尺寸,使得 外部尺寸高度-内部尺寸高度=元素剩余可用空间高度...,而auto等分剩余可用空间,可以使元素达到垂直居中效果。

1.5K40

水平垂直居中深入挖掘

对于如下简单的结构: div class="g-container"> div class="sub">div> div> 居中单个元素而言,上述 4 种方法都很好,没有问题。...CodePen Demo -- Centering in CSS 3 margin: auto 由于需要均分剩余空间,所以表现并不好,无法按照我们设想的 5px 宽度进行间隔 让元素多到溢出 OK,接下来...,我们让内容再多一点,多到溢出整个容器,看看有什么不一样。...CodePen Demo -- Centering in CSS 4 可以看到: 非常重要的一点,由于没有了剩余空间,margin: auto 已经无法做到均匀分配,水平垂直居中了,而是一边贴着容器边,...另外一边溢出 flex 和 grid 都做到了即便超出容器空间,依然是水平垂直居中的 总结一下 经由上述几个 DEMO 可以看出来,在目前比较常用的水平垂直居中方案当中。

99720
  • 【Web前端】CSS传统布局方法(补充)

    与Flexbox和CSS Grid相比,浮动布局缺乏对元素自动对齐和分布的支持。 3. 无法轻松实现垂直居中 浮动布局的一个显著限制是无法轻松实现垂直居中对齐。...由于浮动元素不占用其所在行的空间,开发者必须使用复杂的技巧(如使用​​margin​​调整)来实现垂直居中,这与现代布局方法(如Flexbox的​​align-items​​或CSS Grid的​​align-content​​...6.1 Bootstrap网格系统 Bootstrap的网格系统基于 flexbox,采用一个包含最多12个列的布局,可以根据屏幕大小自动调整布局。...其响应式设计通过定义不同的断点,使网页能够适配不同设备(如手机、平板、桌面显示器等)。 核心特性: 基于Flexbox:通过​​flexbox​​提供灵活的列对齐和排列方式。...自动尺寸单元:使用​​auto​​类,Foundation允许单元自动调整大小,填满剩余空间。

    8610

    CSS实现前端布局更巧妙的方案!在 flex 布局中通过使用 margin 实现水平垂直居中以及其他常见的前端布局

    二、更优雅的方式:margin 2.1 下使用 margin: auto 使元素居中 其实,Flexbox 布局下还有另一种更加简洁的方法使元素居中——直接使用 margin: auto;。...它的工作原理是:在 Flexbox 布局中,margin: auto; 会根据父容器的剩余空间自动调整元素的外边距,直到子元素居中。...在传统布局中,margin: auto; 主要用于水平居中对齐,不适用于垂直居中。因为普通流布局的垂直方向是由文档流控制的,不支持类似 Flexbox 中的自动调整行为。...它不仅可以处理水平居中,还可以在 Flexbox 布局下根据剩余空间自动调整外边距,实现完全的居中对齐。...在这种情况下使用 justify-content: space-between 是一种常见的办法,但这种方法也有一定的局限性:每个元素之间平等分配剩余空间,无法实现特定元素之间紧密靠拢。

    16710

    这次带大家彻底搞懂 flex 布局

    即使 item 设置了 width 也会被压缩,如果你不希望被压缩,可以使用 max-width,倒是会出现溢出的效果; wrap:换行,当位置不够时,自动换行; wrap-reverse:反向换行,第一行在最下面...flex-grow 默认值为 0,即有剩余空间也不放大。...flex-shrink flex-shrink 用于设置 item 缩小的权重。值为数字类型,可以为小数,但不能是负数。 容器存在有剩余空间的情况,自然也有空间不足的情况。...对于空间不足的情况,flex 不希望 item 溢出,此时就会根据 flex-shrink 来分配不足空间的比例。...:定义 item 自己在交叉轴上的对齐方式,默认值继承自父元素的 align-items; order:顺序,越小越靠前,默认值为 1; flex-grow:容器有剩余空间时,额外占据空间的尺寸权重;

    1.3K20

    前端入门5-CSS弹性布局flex声明正文-弹性布局flex

    布局空白 布局空白:available space,大概来说,flex 容器大小扣掉 items 的 flex-basis 指定的占据的空间大小之外剩余的区域,flex-basis 通常是指 item...当设置了 wrap 时,允许 items 在主轴方向溢出时自动进行换行布局,这点可以很好的用来实现响应式布局,比如当空间逐渐缩小时,原本水平排列的控件换成垂直方向排版。 示例: ?...flex-grow 语法格式: flex-grow: 用于设置 item 在主轴方向上的拉伸因子,即如果 flex 容器还有剩余空间,会按照各 item 设置的拉伸因子比例关系分配。...当 flex 容器空间不够,item 要溢出时,设置次属性可控制 item 按比例进行相应收缩,以便不让 item 溢出,默认 1,值越大收缩倍数越大,最后 item 就越小,0 表示不收缩,负值无效。...场景1 场景2: 前后有固定大小 item,中间区域自动拉伸占据可用空间。

    1.2K20

    css面试点四:css3弹性盒子模型-flex布局详解

    .item { order: ; } flex-grow属性:定义项目的放大比例 设置或检索弹性盒子元素的扩展比率。 默认值为0,即如果空间有剩余,也不放大。...可以是小数,按比例占据剩余空间。...若所有项目的flex-grow的数值都相同,则等分剩余空间 若果有一个项目flex-grow为2,其余都为1,则该项目占据剩余空间是其余的2倍 flex-shrink属性:定义项目的缩小比例 默认值都为...flex 元素仅在默认宽度之和大于容器的时候才会发生收缩,其收缩的大小是依据 flex-shrink 的值。 如果所有项目都为0,则当空间不足时,项目撑破容器而溢出。...class="main"> div class="box">未知高度上下左右居中div> div>

    1.5K20

    前端常用布局方案总结

    定位实现水平垂直居中方案(方法一) 步骤如下: (1). 使子元素相对于容器元素定位; (2). 子元素开启绝对定位; (3). 设置该元素的偏移量,值为50% 减去宽度/高度的一半。...定位实现水平垂直居中方案(方法二) 步骤如下: (1). 使子元素相对于容器元素定位; (2). 子元素开启绝对定位; (3). 设置该元素的偏移量,值为50%; (4). ...background-color: #c0eb75; height: 400px; line-height: 400px; font-size: 70px; /* 自适应为剩余空间...height: 400px; width: 200px; } .content { background-color: #d9480f; height: 400px; /* 占用剩余空间...通过calc 函数计算出中间容器的高度。 (2). 中间出现滚动条的容器设置overflow: auto,即根据内容自动出现滚动条。

    2.7K30

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

    3、flex属性(子元素使用) 3.1、flex-grow flow-grow:可以来扩展子元素的宽度:设置当前元素应该占据剩余空间的比例值,这个比例值是和其他兄弟子元素占据的剩余空间平分的。...相反,flex-grow 设置的是父盒子剩余空间的比例分配,而 flex-shrink 设置的是,如果父盒子宽度不够时,子元素的收缩比例。...如果将 flex-shrink 的值设置为 0 的话,父盒子宽度不够时,子元素不收缩,会溢出。...flex: [number]:这个语法指定了一个数字,代表了这个伸缩项目该占用的剩余空间比例。...flex: auto:属性值被设为auto的伸缩项目,会根据主轴自动伸缩以占用所有剩余空间 3.4、flex 应用案例 需求:不管有多少个 li 标签,总是能平分父盒子(因为从服务器获取的 li 标签的个数可能不是固定的

    4K10

    CSS 布局_2 Flex弹性盒

    ,弹性布局是指通过调整其内元素的宽高,从而在任何显示设备上实现对可用显示空间最佳填充的能力,弹性容器扩展其内元素来填充可用空间,或将其收缩来避免溢出块级布局更侧重于垂直方向、行内布局更侧重于水平方向,与此相对的...flex:1; 设置在子项,数值表示占据剩余空间的份数flex 属性,是以下三个属性的简写,即 flex:0 1 auto;属性描述flex-grow:0;定义弹性盒子项的拉伸因子,即子项分配父项剩余空间的比...1,如果没有显示定义该属性,将会自动按照默认值 1 在所有子项宽度相加之后计算比率来进行空间收缩上面的例子中 c 定义了 flex-shrink,a 和 b 没有定义,但会根据默认值 1 来计算,可以看到总共将剩余空间分成了...>flex-basis 属性的初始值为 auto,设置或检索弹性盒伸缩基准值,如果所有子元素的基准值之和大于剩余空间,则会根据每项设置的基准值,按比率伸缩剩余空间当 flex-basis 值为 (25%...轴的结束边界center元素在该行的 cross 轴居中如果元素在 cross 轴上的高度高于其容器,那么在两个方向上溢出距离相同baseline如果弹性盒元素的行内轴与 cross 轴为同一条,则该值与

    1.5K40

    17个场景,带你入门CSS布局

    又如这样的布局:两个元素在一行,左侧元素固定宽200px,右侧元素撑满剩余空间。固定宽200px,撑满剩余空间是大小。两个元素在一行是位置。 下面,我们从大小和位置两个方面,结合场景来看CSS布局。...页面上的每个元素都被描绘成矩形盒子,用这个盒子来描述其占用空间,这个模型称为盒模型。...它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。 flex-grow 属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。...具体实现如下: HTML: div class="container"> div class="left">固定宽度的菜单导航div> div class="right">撑满剩余部分的主题内容...HTML: div class="container"> div class="left">固定宽度的菜单导航div> div class="right">撑满剩余部分的主题内容div

    2.7K20

    CSS&HTML面经专题——(三)CSS定位盒模型经典布局浮动布局与BFC

    (1)flex-grow:定义项目的的放大比例 默认为0,即使存在剩余空间,也不会放大; 所有项目的flex-grow为1:等分剩余空间(自动放大占位); flex-grow为n的项目,占据的空间(放大的比例...flex: 1 相当于: flex-grow:1 自动放大占位 flex-shrink:1 如果空间不足,项目缩小 flex-basis:0% #flex-container...: 200px; background: lightblue; } .center { /* 这里写1的意思是把剩余空间全部占满...问题描述: 实现一个div垂直居中, 其距离屏幕左右两边各10px, 其高度始终是宽度的50%。同时div中有一个文字A,文字需要水平垂直居中。...="clear:both">div> //也可以加一个br标签 div> 复制代码 父级添加overflow属性,或者设置高度 缺点:如果有子元素想溢出,那么会受到影响。

    2K31

    【移动端网页布局】flex 弹性布局 ⑥ ( 设置侧轴多行子元素排列方式 | align-content 样式说明 | 代码示例 )

    排列 ; center , 多行元素在侧轴 居中对齐 , 显示在中间 ; space-around , 多行元素 在 侧轴 中 , 平分剩余空间 ; space-between , 多行元素 首先将上下两行紧贴顶部和底部..., 其余元素平分剩余空间 ; stretch , 多行元素的高度 自动拉伸 , 平分父元素高度 ; 注意 : 不能设置高度 , 设置高度后 , 该设置无效 ; 二、代码示例 ---- 1、代码示例...> 展示效果 : 3、代码示例 - 侧轴多行元素平分剩余空间 space-around , 多行元素 在 侧轴 中 , 平分剩余空间 ; 核心代码示例 :...> 展示效果 : 4、代码示例 - 侧轴多行元素 / 上下两行紧贴顶部和底部 / 其余元素平分剩余空间 space-between , 多行元素 首先将上下两行紧贴顶部和底部..., 其余元素平分剩余空间 ; 核心代码示例 : /* 将展示样式设置为 flex 即可启用弹性布局 */ display: flex;

    44620

    CSS理解之margin

    上图宽度从填满整个所在的容器到宽度500px,这就产生了剩余空间,图中的剩余空白部分空间width=整个容器宽度-500px,而margin auto 就是 为了填充这个空白的尺寸设计的,这就是margin...因为图片是inline水平的,它占据的空间并没有撑满整个容器,如果没有设置宽度值。所以它就不满足margin auto 用来填充剩余空间的条件,因为他根本就没有剩余空间。...要想让它居中也很简单: image.png 为图片设置display:block属性,这时就算没有为图片设置宽度,它也会占满整个容器,这时候在设置margin auto 它就会自动分配剩余空间。...很显然不满足,也就没有剩余空间,所以设置height:100px margin auto不会垂直居中。...这时宽度不会自动撑满容器,所以宽度的水平居中就失效了。

    1.7K20
    领券