CSS 如何在Bootstrap中减少行中元素之间的间距

CSS 如何在Bootstrap中减少行中元素之间的间距

Bootstrap网格系统 使用一系列的容器、行和列来布局和对齐内容。它是响应式的,并且使用了 flexbox 进行构建。每个页面最多支持12列。如果我们不想单独使用所有12列,可以将它们组合在一起以创建更宽的列。

Bootstrap的网格系统是响应式的,这意味着列会根据屏幕大小重新排列:在大屏幕上,内容可能以三列更好地组织,但在小屏幕上,内容项应该堆叠在一起。

Bootstrap网格系统中有四个不同的类:

  • xs: 用于宽度小于768px的手机屏幕。

  • sm: 用于宽度大于或等于768px的平板电脑屏幕。

  • md: 用于相对较小且屏幕宽度大于或等于992px的笔记本电脑。

  • lg: 用于屏幕宽度大于或等于1200px的较大笔记本电脑和台式电脑。

上述类可以结合使用以创建更动态和适应性布局。

Bootstrap网格系统规则

以下是一些Bootstrap网格系统规则:

  • 为了正确对齐和填充,行必须放置在.container(固定宽度)或.container-fluid(全宽)中,因为容器允许我们居中和水平填充网站的内容。

  • 我们可以通过使用行来创建水平列组。列也被包含在行中。

  • 列应该包含内容,只有列可以作为行的直接子项目。

  • 可以使用预定义的类(如.row和 .col-sm-4)快速创建网格布局。

  • 列使用填充来创建列内容之间的间隙。通过在第一列和最后一列的.rows上使用负边距,可以在行中抵消该填充。结果是,您列中的所有内容将在左侧对齐。然而,我们可以通过在.row上使用.no-gutters删除行的边距和列的填充,从而删除边距和填充。

  • 网格列通过指定您想要跨越的12个可用列中的多少个来创建。例如,三个等大小的列需要三个.col-sm-4。

  • 因为列宽是以百分比表示的,所以它们总是流体的,并相对于其父元素调整大小。

  • 网格响应式设计有五个断点,每个响应式断点对应一个网格断点:所有断点(extra small)、small、medium、large和extra large。

  • 网格断点由最小宽度媒体查询确定,这意味着它们适用于该单个断点以及所有在其上的断点(例如,.col-sm-4适用于除第一个xs断点外的所有设备尺寸)。

Bootstrap网格结构

Bootstrap网格具有以下结构:

<div class= "container">
  <div class= "row">
    <div class= "col-*-*"></div>
    <div class= "col-*-*"></div>
  </div>
  <div class= "row">
    <div class= "col-*-*"></div>
    <div class= "col-*-*"></div>
    <div class= "col-*-*"></div>
  </div>
  <div class= "row">
    ...
  </div>
</div>

示例

让我们以上述结构为基础来看一个简单的示例。

<!DOCTYPE html>
<html lang= "en">
<head>
  <title> Bootstrap Grid Example </title>
  <meta charset= "utf-8">
  <meta name= "viewport" content= "width=device-width, initial-scale= 1">
  <link rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script src= "https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class= "container">
  <div class= "row">
    <div class= "col-sm-2" style= "background-color: navy; color: white">ROW1 COL1</div>
    <div class= "col-sm-4" style= "background-color: royalblue; color: white">ROW1 COL2</div>
  </div>
  <div class= "row"> 
    <div class= "col-sm-4" style= "background-color: steelblue; color: white">ROW2 COL1</div>
    <div class= "col-sm-2" style= "background-color: skyblue; color: white">ROW2 COL2</div>
  </div>
</div>
</body>
</html>

删除排水沟

我们可以通过使用.row-no-gutters类从行和其列中删除排水沟/多余的空间。移除.row的负边距和所有直接子列的水平内边距。

示例

下面是一个演示使用row-no-gutters的代码。

<!DOCTYPE html>
<html lang= "en">
<head>
  <title> Bootstrap Grid Example </title>
  <meta charset= "utf-8">
  <meta name= "viewport" content= "width= device-width, initial-scale =1">
  <link rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script src= "https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class= "container">
  <p style= "margin-top: 5px;"> Row without Gutters </p>
  <div class= "row row-no-gutters">
    <div class= "col-sm-2" style= "background-color: navy; color: white">ROW1 COL1</div>
    <div class= "col-sm-4" style= "background-color: royalblue; color: white">ROW1 COL2</div>
  </div>
  <p style= "margin-top: 5px;">Row with Gutters</p>
  <div class= "row">
    <div class= "col-sm-2" style= "background-color: steelblue; color: white">ROW2 COL1</div>
    <div class= "col-sm-4" style= "background-color: skyblue; color: white">ROW2 COL2</div>
  </div>
</div>
</body>
</html>

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

CSS 精选笔记