CSS 中所有的元素都由盒子模型构成,盒子分为两种盒子:

盒子类型特点

块盒子

  • 产生换行。

  • 具有 width 和 height 属性。

  • 具有 margin, padding 和 border 并且会把其它盒子推开。

  • 如果未指定宽度,则盒子会占据所有可用宽度。

行内盒子

  • 不产生换行。

  • width 和 height 属性不起作用。

  • 垂直方向的 margin, padding 和 border 不会把其他行内盒子推开。

  • 水平方向的 margin, padding 和 border 会把其它行内盒子推开。

组成部分

一个盒子构成成分如下:

Diagram

margin 合并

两个相邻的 margin 会发生合并,遵循以下规则:

  • 若两个 margin 都是正数,则合并后的 margin 是最大的 margin。

  • 若两个 margin 都是负数,则合并后的 margin 是最小的 margin。

  • 若其中一个 margin 为负数,则合并后的 margin 是两者之和。

height

w-full 不同的是,h-full 需要当父组件存在高度的时候才会生效。这个高度既可以是显式指定的,也可以是通过 flex 盒子计算出来的。例如:

<div className='h-screen'>
    <div className='h-full'/>
</div>

亦或是使用 flex 计算得出:

<div className='h-screen flex flex-col'>
    <div className='flex grow'>
        <div className='h-full'/>
    </div>
</div>
Last moify: 2024-10-03 06:30:58
Build time:2025-08-18 18:43:08
Powered By asphinx