html - 定位的绝对 div 未出现在定义的位置

标签 html css

我有以下代码片段:

.right_full_navigation{
    position: relative;
    height: 500px;
    width:250px;	
}
.favourites{
    position:absolute;
    top:70px;
    right:0px;
    border-radius:7px;
    border: 1px solid #E1E3E4;
    margin-right:10px;
    background-color:#ffffff;
    width:250px;
    height:500px;
    padding-top:19px;
    margin-left:6%;
}
<div class="right_full_navigation">
    <div class="favourites"></div>
</div>

使用此代码,我希望 div 位于页面的右侧,但是,div 出现在左侧附近, float 在页面的中间和左侧之间。我的其他 .php 页面上有完全相同的代码,但 div 似乎仅在该页面上出现困惑。是代码有问题,还是受到其他div的影响?

最佳答案

当您将父元素定位为relative并将子元素定位为absolute时,子元素的位置在父元素中定义。因此,在您的实例中,您的父级的宽度为 500px。如果您使用 right:0; 定位子项,则它的右侧将紧靠父项的 500px 宽度。

如果您希望子元素相对于主体而不是父元素定位,则必须将其从父元素中取出,或者应将父元素的位置设置为static

关于html - 定位的绝对 div 未出现在定义的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35416979/

相关文章:

javascript - 使下拉菜单仅在调用函数时可见

css - rails : css not loading when running Rails server

css - 在 Bootstrap 中使用 RTL 布局时,Asp.net 文本框光标令人困惑

javascript - 如何设置无法编辑 HTML 且 ID 不断变化的元素的占位符文本?

html - 为什么我的 <table> 数据会溢出其父级的 <div> 引导容器?

javascript - 单击不同的按钮不允许我返回原来的按钮

PHP block 语法约定

php - 如何让 PHP 脚本验证 HTML 表单中输入的内容,以便它只显示该表单中输入的内容?

html - 如何连续移动两个输入框

javascript - 需要 "menuTrigger"的 javascript 菜单帮助