我的日常开发记录日志
首页
  • Laravel
  • Thinkphp
  • Swoole
  • Workman
  • php
  • HTML
  • CSS
  • JavaScript
  • Vue
  • ES6
  • 小程序
  • Mysql
  • Redis
  • Es
  • MongoDb
  • Git
  • Composer
  • Linux
  • Nginx
  • Docker
  • Vpn
  • 开发实战
  • 开发工具类
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档数据
GitHub (opens new window)

我的日常开发记录日志

never give up
首页
  • Laravel
  • Thinkphp
  • Swoole
  • Workman
  • php
  • HTML
  • CSS
  • JavaScript
  • Vue
  • ES6
  • 小程序
  • Mysql
  • Redis
  • Es
  • MongoDb
  • Git
  • Composer
  • Linux
  • Nginx
  • Docker
  • Vpn
  • 开发实战
  • 开发工具类
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档数据
GitHub (opens new window)
  • html

  • css

    • Html
    • css中calc的用法
    • 媒体查询
    • 没有设置宽度的元素
      • 常用到尺寸单位
      • background背景色使用
      • css过渡
      • 正则复杂选择器
      • css变形
      • css动画
      • 伪类选择器
      • 优化input显示
    • javascript

    • vue

    • 小程序

    • Es6

    • 前端
    • css
    窝窝侠
    2024-10-30

    没有设置宽度的元素

    # 未设置宽度的子元素在 CSS 中的宽度计算是通过考虑父元素的宽度、内边距和外边距来确定的。

    # 1. 元素的基础知识

    • 块级元素:在默认情况下,块级元素会占据其父元素的全部可用宽度。未设置宽度的块级元素会尝试填满其父元素的宽度。
    • 内边距(padding):内边距是元素内容与元素边框之间的空间。它增加了内容的实际显示区域,但不会影响内容区的计算宽度。
    • 外边距(margin):外边距是元素边框与其他元素之间的空间。外边距会影响元素的布局和相对位置。

    # 2. 计算子元素的内容区宽度

    当子元素未设置宽度时,其内容区宽度的计算如下:

    1. 父元素的宽度:假设父元素的宽度为 W。
    2. 子元素的内边距:假设左内边距为 P-left,右内边距为 P-right。
    3. 子元素的外边距:假设左外边距为 M-left,右外边距为 M-right。

    # 3. 计算步骤

    • 子元素的可用宽度计算公式如下:

      [ \text{可用宽度} = W - (M-left + M-right) - (P-left + P-right) ]

    • 这意味着:

      • 从父元素的总宽度 W 中减去子元素的左右外边距(M-left 和 M-right),这会影响子元素在页面中的位置。
      • 还要减去子元素的左右内边距(P-left 和 P-right),因为内边距会占据子元素自身的空间。

    # 4. 示例

    <div class="container" style="width: 800px;">
        <div class="box">这是一个未设置宽度的子元素</div>
    </div>
    
    <style>
    .container {
        border: 1px solid black; /* 可视化容器边界 */
    }
    
    .box {
        padding: 10px; /* 内边距 */
        margin: 20px; /* 外边距 */
        border: 2px solid red; /* 边框 */
    }
    </style>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    # 计算过程:

    1. 父元素的宽度:

      • W = 800px(.container 的宽度)
    2. 子元素的内边距:

      • P-left = 10px
      • P-right = 10px
    3. 子元素的外边距:

      • M-left = 20px
      • M-right = 20px
    4. 可用宽度计算: [ \text{可用宽度} = 800px - (20px + 20px) - (10px + 10px) = 800px - 40px - 20px = 740px ]

    # 5. 最终效果

    • 内容区宽度:子元素 .box 的内容区宽度为 740px,这意味着它的实际内容区域在可用宽度内展示。
    • 布局:子元素的外边距和内边距共同作用,影响了元素的最终显示位置和宽度。

    # 6. 总结

    未设置宽度的子元素的内容区宽度是通过父元素宽度减去内边距和外边距得出的。这个计算过程确保了布局的灵活性,使得元素能够根据其父元素和空间需求动态调整。理解这一机制有助于您更有效地管理布局和样式,尤其是在响应式设计中。

    在线编辑 (opens new window)
    上次更新: 2025/02/25, 18:30:54
    媒体查询
    常用到尺寸单位

    ← 媒体查询 常用到尺寸单位→

    最近更新
    01
    showprocess用法
    04-29
    02
    vue3中尖括号和冒号的使用细则
    04-29
    03
    sd使用
    02-22
    更多文章>
    🖥️

    © 2025窝窝侠 💌 豫ICP备20005263号-2 🛀 Theme by 💝 Vdoing && 小胖墩er

    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×