div和span区别

区别1

区别2

App.vue代码

html 复制代码
<template>
  <div class="container">
    <h1>🎯 DIV 和 SPAN 标签的区别演示</h1>
    
    <!-- 第一部分:基本区别演示 -->
    <section class="demo-section">
      <h2>📦 1. 基本布局区别</h2>
      
      <h3>DIV 标签(块级元素):</h3>
      <div class="demo-div">我是第一个 DIV</div>
      <div class="demo-div">我是第二个 DIV</div>
      <div class="demo-div">我是第三个 DIV</div>
      <p class="explanation">👆 注意:每个 DIV 都独占一行,即使内容很少</p>
      
      <h3>SPAN 标签(内联元素):</h3>
      <span class="demo-span">我是第一个 SPAN</span>
      <span class="demo-span">我是第二个 SPAN</span>
      <span class="demo-span">我是第三个 SPAN</span>
      <p class="explanation">👆 注意:所有 SPAN 都在同一行显示</p>
    </section>

    <!-- 第二部分:尺寸设置区别 -->
    <section class="demo-section">
      <h2>📏 2. 尺寸设置区别</h2>
      
      <h3>DIV 可以设置宽高:</h3>
      <div class="sized-div">
        我是 200px 宽,100px 高的 DIV
      </div>
      
      <h3>SPAN 无法设置宽高:</h3>
      <span class="sized-span">我是 SPAN,设置宽高无效</span>
      <p class="explanation">👆 注意:SPAN 的大小完全由内容决定</p>
    </section>

    <!-- 第三部分:实际应用场景 -->
    <section class="demo-section">
      <h2>💡 3. 实际应用场景</h2>
      
      <h3>DIV 用于布局和容器:</h3>
      <div class="layout-example">
        <div class="header">网站头部</div>
        <div class="content">网站内容区域</div>
        <div class="footer">网站底部</div>
      </div>
      
      <h3>SPAN 用于文本样式:</h3>
      <p class="text-example">
        这是一段普通文本,
        <span class="highlight">这部分是重点内容</span>,
        <span class="red-text">这部分是红色文字</span>,
        后面又是普通文本。
      </p>
    </section>

    <!-- 第四部分:混合使用 -->
    <section class="demo-section">
      <h2>🔄 4. 混合使用示例</h2>
      <div class="card">
        <div class="card-header">
          <span class="card-title">用户信息</span>
          <span class="card-status">在线</span>
        </div>
        <div class="card-body">
          用户名:<span class="username">张三</span><br>
          邮箱:<span class="email">zhangsan@example.com</span>
        </div>
      </div>
    </section>
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>

<style>
.container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  font-family: '微软雅黑', Arial, sans-serif;
}

h1 {
  color: #2c3e50;
  text-align: center;
  margin-bottom: 30px;
}

h2 {
  color: #3498db;
  border-bottom: 2px solid #3498db;
  padding-bottom: 5px;
}

h3 {
  color: #27ae60;
  margin-top: 20px;
}

.demo-section {
  margin-bottom: 40px;
  padding: 20px;
  background-color: #f8f9fa;
  border-radius: 8px;
}

/* DIV 演示样式 */
.demo-div {
  background-color: #e74c3c;
  color: white;
  padding: 10px;
  margin: 5px 0;
  border-radius: 4px;
  text-align: center;
}

/* SPAN 演示样式 */
.demo-span {
  background-color: #9b59b6;
  color: white;
  padding: 8px 12px;
  margin: 0 5px;
  border-radius: 4px;
}

.explanation {
  color: #7f8c8d;
  font-style: italic;
  margin-top: 10px;
  padding: 8px;
  background-color: #ecf0f1;
  border-radius: 4px;
}

/* 尺寸演示 */
.sized-div {
  width: 200px;
  height: 100px;
  background-color: #f39c12;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  margin: 10px 0;
}

.sized-span {
  /* 这些设置对 span 无效 */
  width: 200px;
  height: 100px;
  background-color: #1abc9c;
  color: white;
  padding: 10px;
  border-radius: 4px;
}

/* 布局示例 */
.layout-example {
  border: 2px solid #34495e;
  border-radius: 8px;
  overflow: hidden;
}

.header {
  background-color: #2c3e50;
  color: white;
  padding: 15px;
  text-align: center;
}

.content {
  background-color: #ecf0f1;
  padding: 20px;
  min-height: 60px;
}

.footer {
  background-color: #95a5a6;
  color: white;
  padding: 10px;
  text-align: center;
}

/* 文本样式示例 */
.text-example {
  font-size: 16px;
  line-height: 1.6;
  padding: 15px;
  background-color: white;
  border-radius: 4px;
  border: 1px solid #ddd;
}

.highlight {
  background-color: #f1c40f;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: bold;
}

.red-text {
  color: #e74c3c;
  font-weight: bold;
}

/* 卡片示例 */
.card {
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  background-color: white;
}

.card-header {
  background-color: #3498db;
  color: white;
  padding: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.card-title {
  font-size: 18px;
  font-weight: bold;
}

.card-status {
  background-color: #27ae60;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
}

.card-body {
  padding: 20px;
  line-height: 1.8;
}

.username {
  color: #2c3e50;
  font-weight: bold;
}

.email {
  color: #3498db;
  font-style: italic;
}
</style>
相关推荐
八角丶16 小时前
Node 网络编程 —— TLS 模块
javascript·后端·node.js
倔强的石头10616 小时前
【Linux指南】动静态库系列(七):符号表与重定位:链接器如何把函数调用接起来
linux·前端·javascript
图扑软件17 小时前
中篇・运笔|统一 DataModel 底座,HT UI 组件万物同源
javascript·低代码·ui·性能优化·数据可视化
a11177618 小时前
3D 脑图谱 / Bilingual 3D Brain Atlas 项目
前端
T1mzhou18 小时前
ARM64 Linux 6.10内核启动流程2-rootfs 怎么挂上
linux·服务器·前端
小小尚@18 小时前
WebGIS/ECharts 地图开发|MapLand 在线行政区划边界一键下载 GeoJSON 工具
前端·javascript·echarts
葡萄城技术团队18 小时前
工业数据可视化:使用活字格 AIcoding + Three.js 构建轻量化三维设备监控大屏
开发语言·javascript·信息可视化
默_笙19 小时前
🚍 一条 Todo 的奇幻漂流:TypeScript 全栈类型安全的"护照检查"
前端·javascript
计算机魔术师20 小时前
NVIDIA 以 129.3 亿美元收购 Hugging Face
前端
平头哥技术团队20 小时前
Day 01 | 用 HTML 写第一个网页:双击就能在浏览器打开
前端