首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >position:相对显示为position: static

position:相对显示为position: static
EN

Stack Overflow用户
提问于 2010-08-20 19:14:21
回答 1查看 2.1K关注 0票数 2

我有以下HTML (摘自较大的代码库)

代码语言:javascript
运行
复制
<div class="diary-event ui-corner-all" title="[title]">
    <span id="delete"></span>
    <div class="diary-event-title ui-corner-all">[title]</div>
    <div class="diary-event-body ui-corner-all">
        <p class="hyphenate">[body]</p>
    </div>
</div>

(其中title和body是动态生成的字符串)

其样式如下所示:

代码语言:javascript
运行
复制
.ui-corner-all
{
    -moz-border-radius:4px 4px 4px 4px;
}
.diary-event
{
    display:block;
    height:100%;
    position:relative !important;
    vertical-align:top;
    width:100%;
    word-wrap:break-word;
}
table *
{
    margin:0;
    padding:0;
}

#diary-grid
{
    border-collapse:collapse;
}
body
{
    font-family:Arial;
}

现在在Firefox,Chrome和大多数其他浏览器中,这个div的相对定位意味着它会与页面的其余部分一起滚动,没有问题,但是由于某些原因,在IE6和IE7中,它的定位就像是静态的(IE8工作得很好)。

CSS文件的/any/中的任何位置都不是静态的,我想知道以前是否有人遇到过这个问题,如果有,我可以如何解决它。

我发现问题出在jQuery将定位直接注入到主div的'style‘部分:

代码语言:javascript
运行
复制
start: function(event, ui)
{
    $(diary_event).attr('style','position: relative'); // <----
    diary_event = $(this);
    diary_event_parent = $(this).parent();
}

但是,如果我去掉它,就无法在除IE之外的所有其他浏览器中准确地重新拖动拖放的元素。

换句话说,我已经找到了问题所在,但没有找到如何修复它的>_<

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-20 19:21:05

这是因为ie6&7中的一个bug。你只需要添加position:相对于"body“元素(而不是你的"body”占位符)。http://friendlybit.com/css/ie6-resize-bug/

希望它能帮上忙!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3530323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档