“盒子”在网页设计中通常指由 内容、内边距、边框、外边距 组成的矩形区域,也就是 CSS 盒模型,掌握它至关重要。

网页制作 盒子代码模板
(图片来源网络,侵删)

最基础的盒子(内容 + 内边距 + 边框)

这是最常用、最核心的盒子结构,适用于卡片、文章内容区、按钮等。

HTML 结构

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">基础盒子模板</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="box">
        <h2>这是一个基础盒子</h2>
        <p>这里是盒子的内容,你可以在这里放置任何文本、图片或其他HTML元素。</p>
        <p>通过 CSS,我们可以轻松地控制这个盒子的大小、颜色、边框和内外间距。</p>
    </div>
</body>
</html>

CSS 样式 (style.css)

/* 全局样式,让页面更好看一点 */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: #f0f2f5;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
}
/* --- 盒子样式 --- */
.box {
    /* 1. 尺寸与布局 */
    width: 400px;          /* 设置一个固定宽度 */
    /* width: 80%; */      /* 或者使用百分比,使其响应式 */
    /* 2. 内容样式 */
    background-color: #ffffff; /* 背景色 */
    color: #333;             /* 文字颜色 */
    padding: 20px;           /* 内边距:内容到边框的距离 */
    /* 3. 边框 */
    border: 1px solid #ddd;  /* 边框:宽度 样式 颜色 */
    border-radius: 8px;      /* 圆角边框 */
    /* 4. 外边距 */
    margin: 20px;            /* 外边距:盒子与其他元素的距离 */
    /* 5. 文本排版 */
    line-height: 1.6;        /* 行高,提升阅读体验 */
}

效果预览


带阴影的盒子(增加层次感)

阴影是让盒子从背景中“跳”出来的关键技巧,常用于卡片、弹窗等。

HTML 结构(与模板一相同)

<div class="box-shadow">
    <h2>这是一个带阴影的盒子</h2>
    <p>阴影可以增加盒子的层次感和立体感,使其在页面上更加突出。</p>
</div>

CSS 样式 (style.css)

/* 基础样式与模板一类似,这里只展示新增或修改的部分 */
.box-shadow {
    width: 400px;
    background-color: #ffffff;
    padding: 25px;
    border-radius: 10px; /* 通常阴影会和圆角一起使用 */
    /* --- 关键:阴影属性 --- */
    box-shadow: 
        0 4px 6px rgba(0, 0, 0, 0.1),    /* 第一层阴影:轻微的、偏移的阴影 */
        0 1px 3px rgba(0, 0, 0, 0.08);    /* 第二层阴影:更细微的阴影,增加深度 */
    /* 你也可以使用简单的阴影 */
    /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15); */
    margin: 20px;
}

box-shadow 语法解析: box-shadow: h-offset v-offset blur spread color inset;

  • h-offset: 水平阴影位置(正数向右,负数向左)
  • v-offset: 垂直阴影位置(正数向下,负数向上)
  • blur: 模糊距离(值越大,阴影越模糊)
  • spread: 阴影扩展(正数阴影扩大,负数阴影缩小)
  • color: 阴影颜色,使用 rgba() 可以设置透明度,效果更佳。
  • inset: (可选)将外部阴影改为内部阴影。

效果预览


弹性盒子布局(内部元素排列)

当盒子内部有多个子元素,并且需要灵活排列时,Flexbox 是最佳选择。

网页制作 盒子代码模板
(图片来源网络,侵删)

HTML 结构

<div class="flex-container">
    <div class="flex-item item-1">项目 1</div>
    <div class="flex-item item-2">项目 2</div>
    <div class="flex-item item-3">项目 3</div>
</div>

CSS 样式 (style.css)

/* --- 容器(父盒子)样式 --- */
.flex-container {
    display: flex; /* 1. 声明这是一个弹性容器 */
    /* 2. 主轴(默认为水平方向)上的对齐方式 */
    justify-content: space-between; /* 项目之间平均分布,两端对齐 */
    /* justify-content: center; /* 项目居中对齐 */
    /* justify-content: space-around; /* 项目周围平均分布 */
    /* 3. 交叉轴(默认为垂直方向)上的对齐方式 */
    align-items: center; /* 项目在垂直方向上居中对齐 */
    /* align-items: flex-start; /* 顶部对齐 */
    /* align-items: flex-end; /* 底部对齐 */
    /* 4. 换行 */
    flex-wrap: wrap; /* 允许项目换行 */
    width: 500px;
    padding: 20px;
    background-color: #e9ecef;
    border-radius: 8px;
    margin: 20px auto;
}
/* --- 子元素(项目)样式 --- */
.flex-item {
    background-color: #007bff;
    color: white;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
    /* 5. 控制项目在容器中的伸缩比例 */
    flex-grow: 1; /* 允许项目拉伸以填充可用空间 */
    margin: 5px; /* 项目之间的间距 */
}
.item-1 { background-color: #28a745; }
.item-2 { background-color: #ffc107; color: #333; }
.item-3 { background-color: #dc3545; }

效果预览


CSS Grid 盒子布局(二维布局)

Grid 适用于更复杂的二维布局,可以同时控制行和列。

HTML 结构

<div class="grid-container">
    <div class="grid-item header">头部</div>
    <div class="grid-item sidebar">侧边栏</div>
    <div class="grid-item main">主要内容</div>
    <div class="grid-item footer">底部</div>
</div>

CSS 样式 (style.css)

/* --- 容器(父盒子)样式 --- */
.grid-container {
    display: grid; /* 1. 声明这是一个网格容器 */
    /* 2. 定义列 */
    grid-template-columns: 200px 1fr; /* 两列:第一列固定200px,第二列占据剩余空间 */
    /* 3. 定义行 */
    grid-template-rows: 80px 1fr 60px; /* 三行:第一行80px,第二行自适应,第三行60px */
    /* 4. 定义网格区域(更直观的方式) */
    /* grid-template-areas:
        "header  header"
        "sidebar main"
        "footer  footer"; */
    /* 5. 设置间距 */
    gap: 10px; /* 行和列之间的间距 */
    width: 90%;
    max-width: 800px;
    margin: 20px auto;
    border: 1px solid #ccc;
    border-radius: 8px;
}
/* --- 子元素(项目)样式 --- */
.grid-item {
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 5px;
    text-align: center;
    font-weight: bold;
}
.header { background-color: #17a2b8; color: white; }
.sidebar { background-color: #6c757d; color: white; }
.main { background-color: #007bff; color: white; }
.footer { background-color: #28a745; color: white; }
/* 使用 grid-template-areas 时的写法 */
/* .header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.main { grid-area: main; }
.footer { grid-area: footer; } */

效果预览


响应式盒子(媒体查询)

盒子需要在不同屏幕尺寸下有不同的表现,这就是响应式设计。

HTML 结构

<div class="responsive-box">
    <h2>响应式盒子</h2>
    <p>调整浏览器窗口大小,观察盒子的变化。</p>
    <p>在宽屏上,盒子宽度为80%;在窄屏上(如手机),盒子宽度变为95%,并取消了圆角。</p>
</div>

CSS 样式 (style.css)

.responsive-box {
    /* 默认样式(应用于所有屏幕) */
    width: 80%;
    max-width: 800px; /* 限制最大宽度,避免在超大屏幕上过宽 */
    margin: 20px auto;
    padding: 25px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
/* --- 媒体查询:当屏幕宽度小于 768px 时(平板及以下) --- */
@media (max-width: 768px) {
    .responsive-box {
        width: 95%; /* 在小屏幕上占据更多宽度 */
        border-radius: 0; /* 取消圆角,看起来更像原生应用 */
    }
}
/* --- 媒体查询:当屏幕宽度小于 480px 时(手机) --- */
@media (max-width: 480px) {
    .responsive-box {
        width: 100%; /* 在手机上占满整个屏幕宽度 */
        padding: 15px; /* 减少内边距,节省空间 */
    }
}

效果预览

  • 宽屏 (>768px): 盒子居中,宽度为80%。
  • 平板 (480px - 768px): 盒子宽度变为95%,圆角消失。
  • 手机 (<480px): 盒子宽度变为100%,内边距减少。

总结与建议

  1. 从基础开始: 模板一(基础盒子)是所有盒子模型的基石,务必理解 padding, border, margin 的作用。
  2. 善用布局: 当盒子内部元素需要排列时,优先考虑 Flexbox(一维布局)和 Grid(二维布局),Flexbox 更简单常用,Grid 更强大。
  3. 增加质感: 使用 box-shadow 可以极大地提升设计的现代感和层次感。
  4. 拥抱响应式: 使用媒体查询 @media 确保你的盒子在所有设备上都有良好的显示效果。
  5. 工具辅助: 在实际开发中,你可以使用 BootstrapTailwind CSS 等框架,它们提供了大量预定义的、响应式的盒子类,能极大提高开发效率,但理解底层原理(如本模板所示)仍然非常重要。
网页制作 盒子代码模板
(图片来源网络,侵删)