Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS:绝对位置的替代方法_Css_Css Position_Css Float - Fatal编程技术网

CSS:绝对位置的替代方法

CSS:绝对位置的替代方法,css,css-position,css-float,Css,Css Position,Css Float,我的分数如下: <div id="playArea" style="position: relative;"> <div style="position: absolute; left: 295px; top: -1px; width: 313px; height: 269px;">Hello</div> <div style="position: absolute; left: 63px; top: 35px; width: 80px;

我的分数如下:

<div id="playArea" style="position: relative;">
    <div style="position: absolute; left: 295px; top: -1px; width: 313px; height: 269px;">Hello</div>
    <div style="position: absolute; left: 63px; top: 35px; width: 80px; height: 42px;">World</div>
    <div style="position: absolute; left: 534px; top: 329px; width: 183px; height: 251px;">Bye</div>
</div>

你好
世界
拜伊
但是我想在“playArea”div下有一段文字,但是因为playArea内的所有div都是绝对的,所以文字不会出现在最后一个绝对位置div的底部

我对此进行了研究,并通过使用float:left和clear:left找到了一个替代方法。但是,在第一个div上使用此方法后,您无法正确定位div,因为第二个div的起点位于第一个div之下,而不是(0,0)。你知道我该怎么过吗


谢谢

如果我理解正确,您只需给“游戏区”div设置正确的高度即可

编辑:我的意思是,里面所有东西的组合高度

但是我想在“playArea”div下有一段文字,但是因为playArea内的所有div都是绝对的,所以文字不会出现在最后一个绝对位置div的底部

由于您似乎已经知道所有维度和位置,只需向其中添加另一个绝对定位的div,并将相对内容放入其中

我对此进行了研究,并通过使用float:left和clear:left找到了一个替代方法。但是,在第一个div上使用此方法后,您无法正确定位div,因为第二个div的起点位于第一个div之下,而不是(0,0)。你知道我该怎么过吗


您需要删除
position:absolute
,以获得正确的浮动。宽度和高度足够。

将三个内部div向左浮动,将
溢出:隐藏
放在游戏区分区的
下,并将
清除:两个

在阅读了您和“BalusC”之间的评论线程后,您似乎已经修改了CSS,现在正在尝试浮动项目,并使用页边距顶部和页边距左侧进行定位。你完全可以这样做,但是你忘记了你也可以用负的边距来定位你的元素。例如,如果使用边距顶部:-10px然后它会将元素向上拉(而不是像正常的正值边距那样向下推)。其他所有的利润也是如此


这似乎是你现在缺少的成分。

你有一个有效的例子吗?或者至少作为一个例子,我没有,因为我目前正在本地主机上工作。很抱歉,请参阅我刚刚在下面添加到BalusC的注释,这说明了问题。我已删除位置:绝对,并将顶部和左侧更改为边距顶部和边距左侧。但是在第二个和其他下面的分区上,起始位置不是在游戏区(0,0)的左上角,而是在第一个分区下的位置。因此,如果第一个分区在(30,0)处,高度是100px,那么第二个分区将在(30100)处开始,但我希望它是(0,0)注意:括号中的这些坐标毕竟是(X,Y)的坐标,事实上,很难理解你到底想把文本放在哪里。在三个div中最低div以下的块元素中?你可以在那里添加另一个绝对位置的div,然后把段落放进去。是的,我想把文本放在三个div中最下面的一个块元素中。如果我用绝对值来定位它,那么我相信这会引起两个问题。1.我永远无法在没有定位的情况下将东西放到页面上。我的页脚是绝对定位的,所以我不想每次都改变它,并计算它应该在哪里,我知道你可以使用负的利润率,但这只是意味着先从上一个div的利润率中减去当前div的利润率,这是一种非常糟糕的做法,我认为最干净、最简单的方法是不浮动任何元素。正如Kaze no Koe所提到的,只需给游戏区增加一个高度。根据你提供的信息,我无法想象有比他建议的更好或更简单的方法。