Css 为什么我的在使用中p标签上的position:relevant时会移动?

Css 为什么我的在使用中p标签上的position:relevant时会移动?,css,html-lists,distortion,Css,Html Lists,Distortion,我有一个左侧菜单,使用一个固定宽度的div,里面有一个ul-li,并且我在li中有p标签用于文本。当我在p标记上使用position:relative时,我的li变得不稳定而不固定。例如,如果我从右向左突出显示我的li中的文本,整个li元素将向左移动。很奇怪。如果我从p标签中删除position:relative,那么一切都是“固定的”,就像它假设的那样 直到开始从右向左突出显示文本时,li的移动才明显。不过,在iPad上,它变得非常明显,一次轻扫,它的移动不只是正常的上下移动,而是从左到右不正

我有一个左侧菜单,使用一个固定宽度的div,里面有一个ul-li,并且我在li中有p标签用于文本。当我在p标记上使用position:relative时,我的li变得不稳定而不固定。例如,如果我从右向左突出显示我的li中的文本,整个li元素将向左移动。很奇怪。如果我从p标签中删除position:relative,那么一切都是“固定的”,就像它假设的那样

直到开始从右向左突出显示文本时,li的移动才明显。不过,在iPad上,它变得非常明显,一次轻扫,它的移动不只是正常的上下移动,而是从左到右不正常

我举了一个例子:

HTML

<div class="left">    
    <ul>      
        <li class="list">       
            <p class="title">Why</p>
            <p class="type">Does it do this?</p>      
        </li>   
    </ul>      
</div><!--end Left-->
李先生为什么这样做


在没有position:relative的情况下,我如何调整p标签的位置?

当你定位相对的东西时,就像把它从父对象中拿出来放在上面一样。因此,父母不再对它一视同仁。由于段落是显示块,它们占据了整个容器,但偏移量为260px,但超出父级边缘10px,因此ipad正在滚动,因为您造成了溢出。最好只在p标签上使用填充,如下所示:

p.title {
    padding-top: 10px;
    padding-left: 10px;
}
或者,要使周围的间距均匀,只需执行以下操作:

p.title {
    padding: 10px;
}

您的标记的宽度比li的宽度大。由于您添加的10px偏移量。它分配了100%宽度+10px,从而使li溢出并使其四处移动。

现在我明白了。我可以问你如何让我的p标签以相同的方式对齐而不出现任何失真问题吗。我一直使用position relative将元素移动到我想要的位置,但是如果我从父元素减去position:relative中使用的像素量,我不知道它是这样做的。这是正确的方法吗?如果我使用left:20px,我会从它的父对象的宽度中减去20px?这就是它的工作原理吗?我建议使用填充或边距来完成这项工作,而不是使用上/左。在位置:绝对场景中,上/左更有用
p.title {
    padding: 10px;
}