布局
Box 盒模型
盒模型与层叠上下文原语。
border-box
pvs-box-border:padding/border 计入 width(推荐默认)。
box-border总宽 8rem
box-content内容宽 8rem + padding
<div class="pvs-flex pvs-gap-4 pvs-flex-wrap">
<div class="pvs-box-border pvs-w-32 pvs-p-4 pvs-border pvs-bg-surface-muted">
<code>box-border</code>
<br>
<span class="pvs-text-xs">总宽 8rem</span>
</div>
<div class="pvs-box-content pvs-w-32 pvs-p-4 pvs-border">
<code>box-content</code>
<br>
<span class="pvs-text-xs">内容宽 8rem + padding</span>
</div>
</div>层叠隔离 isolate
避免内部 z-index 与页面其他层混在一起。
外层 z-50
isolate 内 z-10
不压住外层
<div class="pvs-relative pvs-p-6 pvs-border">
<span class="pvs-absolute pvs-top-0 pvs-left-0 pvs-p-2 pvs-border pvs-z-50 pvs-bg-surface-muted">外层 z-50</span>
<div class="pvs-isolate pvs-relative pvs-mt-8 pvs-p-4 pvs-border pvs-bg-surface">
<span class="pvs-absolute pvs-top-2 pvs-right-2 pvs-p-1 pvs-border pvs-z-10 pvs-bg-primary" style="color:#fff">isolate 内 z-10</span>
<code>不压住外层</code>
</div>
</div>卡片尺寸计算
固定 max-w + padding 不撑破容器
<div class="pvs-box-border pvs-w-full pvs-max-w-xs pvs-p-4 pvs-border">
<p class="pvs-m-0 pvs-text-sm">固定 max-w + padding 不撑破容器</p>
</div>类名速查
| 类 | 样式 |
|---|---|
pvs-box-border | box-sizing: border-box |
pvs-box-content | content-box |
pvs-isolate | isolation: isolate |