猿问

【读CSS规范】关于静态位置

在计算绝对定位的不可替换元素的宽度和外边距时,规范先提出了一个“静态位置”的术语,并继续解释:
Thestatic-positioncontainingblockisthecontainingblockofahypotheticalboxthatwouldhavebeenthefirstboxoftheelementifitsspecified'position'valuehadbeen'static'anditsspecified'float'hadbeen'none'.
个人的翻译:静态位置包含块是position为static且float为none的元素的第一个盒即假想盒的包含块。
参考了几个翻译,大致如此。其中有几个问题希望有人帮忙解释:
“第一个盒”——为什么强调“第一个”,除了li,都只生成一个盒吧?
根据引用,静态位置应该指的就是假想盒,为什么会让“位置”等同于“盒”呢,用“静态盒”不是更易于理解么?或者是我的理解有问题?
静态位置及静态位置包含块的作用有没有例子说明下(对此问题规范中后文有所解释,但引用的这句已经让我云里雾里了,所以还是提了出来。。。)
再次感谢!
至尊宝的传说
浏览 548回答 2
2回答

收到一只叮咚

这么翻译没错但不是我们正常的说话方式,也把你给绕进去了。把从句切分为两段:静态位置包含块是一个假想盒的包含块,这个假想盒是指当假设这个元素position为static且float为none时生成的第一个盒子。强调第一个是指最上最左(lrt方向下),无论一个元素生成几个盒子,总有第一个对吧。看回正常的语序你就会发现,“位置”并没有等同于“盒”,静态位置包含块是指在静态位置的包含块。这个位置用于给topleft计算默认值。其实这段话不理解也没关系的,因为就在前一句就说了theterm"staticposition"(ofanelement)refers,roughly,tothepositionanelementwouldhavehadinthenormalflow.不是实现规范的话知道它的默认位置是假设在normalflow时的位置就行。例子你在一个不设topleftbottomright的absolute元素前放几个in-flow元素就可以观察到。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答