菜鸟-创作你的创作

HTML中使用Flex布局实现双行夹批效果

在 HTML 中使用 Flexbox 布局实现“双行夹批效果”通常指的是在容器中排列两个元素,且这两个元素在视觉上表现为两行互相包围或夹住的效果。通常来说,这类效果可能是上面一行元素居中,下面一行元素也居中,两者有一些间距,形成“夹批”的效果。

我们可以通过使用 Flexbox 来轻松实现这个布局。以下是一个简单的实现方式:

示例代码:

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Flex 布局 双行夹批效果</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>

    <div class="container">
        <div class="top-row">
            <div class="item">上行1</div>
            <div class="item">上行2</div>
            <div class="item">上行3</div>
        </div>
        <div class="bottom-row">
            <div class="item">下行1</div>
            <div class="item">下行2</div>
            <div class="item">下行3</div>
        </div>
    </div>

</body>
</html>

CSS (styles.css):

body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f4f4f4;
}

.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 20px; /* 上下两行之间的间距 */
}

.top-row, .bottom-row {
    display: flex;
    justify-content: center; /* 水平居中 */
    gap: 15px; /* 每个元素之间的间距 */
}

.item {
    background-color: #4CAF50;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 16px;
}

解释:

  1. Flexbox 布局
    • .container 使用 flex-direction: column; 将子元素垂直排列。这使得 .top-row 和 .bottom-row 在垂直方向上堆叠。
    • 使用 gap 属性来为上下两行之间设置间距。
  2. 上下两行(.top-row 和 .bottom-row
    • 每一行都使用 display: flex; 使其子元素水平排列。
    • justify-content: center; 确保每行中的元素水平居中。
    • gap 用于设置行内元素之间的间距。
  3. 每个元素(.item
    • 每个 .item 使用背景颜色、内边距、圆角和字体大小进行样式化。
    • border-radius: 5px; 让每个元素的角落变得圆润。

效果:

这个布局非常适合需要两个行元素视觉上被“夹住”的效果,且使用了 Flexbox 使得布局在不同屏幕尺寸下非常灵活。

退出移动版