这段关于CSS的话如何翻译?

Remember that these values will be relative to the next parent element with relative (or absolute) positioning. If there is no such parent, it will default all the way back up to the <html> element itself meaning it will be placed relatively to the page itself. 是在介绍绝对定位时提到的。
为了让大家好翻译,上文说的是:This is a very powerful type of positioning that allows you to literally place any page element exactly where you want it. You use the positioning attributes top, left bottom and right to set the location.

阅读 3.5k
2 个回答

楼上的答案是不够准确的。

一个element的position有时候是根据他的containing block来计算的。 docs.

怎么找到某个element的containing block, 可以参考这张图。 docs.

Image Source: w3help.org. 本来都有解释的,但现在上不去了:(

root element是在HTML文档中是指<html>, See docs.
initial containing block: 就是viewport的大小, 也就是page area。 docs.

根据上图,就可以翻译了。 Learn more on w3 - position scheme.

这个是绝对定位概念嘛,以这个关键词搜下答案好些。大概意思是说绝对定位postion:absolute是相对于有定位position:relative|absolute|fixed的祖先元素偏移,如果祖先元素都没有定位,则以html(body左上角?)偏移

<div style="position:relative;top:50px;left:50px;width:100px;height:100px;border:1px solid;">
    <div style="width:50px;height:50px;margin:25px;border:1px solid red;">
        <div style="position:absolute;left:20px;top:20px;width:20px;height:20px;background:blue;"></div>
    <div>
</div>
<div style="margin:50px;width:100px;height:100px;border:1px solid;">
    <div style="width:50px;height:50px;margin:25px;border:1px solid red;">
        <div style="position:absolute;left:20px;top:20px;width:20px;height:20px;background:blue;"></div>
    <div>
</div>
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏