css - 如何水平居中可拖动模态

标签 css jquery-ui-draggable

我有一个弹出窗口,它应该是 position:fixed 并且可以拖动。问题是,每当弹出窗口时,它都会使用 css 转换,因此它的所有属性都是动画的。我曾尝试使用 left:50% transformX:(-50%) 将其水平居中,但弹出窗口在出现时水平跳转(因为它为变换设置动画) ).我也尝试过将它居中 left:0 right:0 margin:0 auto;但是当您开始拖动时,窗口也会跳出位置。这些问题仅在窗口首次出现或第一次被拖动时出现,第一次拖动后一切正常。

我将以下选项传递给可拖动 setter 。

elem.draggable({ start: function() {

$(this).css({transform: "none", top: $(this).offset().top+"px", left:$(this).offset().left+"px"});

} });

这个 fiddle 以 margin:0 auto 为中心 here is a fiddle demonstrating my problem

这个 fiddle 以 left:50% transform:translateX(-50%); 为中心

second fiddle

最佳答案

您是否尝试过给模态框一个宽度然后使用 margin:0 auto;通常,为了使元素居中,您需要为该元素指定一个宽度。

.centeredElement {
    margin: 0 auto;
    width: 960px;
}

关于css - 如何水平居中可拖动模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34841585/

相关文章:

css - 是否可以使用 mix-blend-mode 在动画 Canvas 后面使用静态背景?

javascript - 在 TabView 中使用 Frame 标签时如何排除 ActionBar?

css - 如何为具有 "list"属性的文本输入设置下拉菜单的样式?

javascript - 在缩放的 div 上精确放置可拖动元素

jquery-ui - jQuery 可拖动拖动事件中有什么方法可以覆盖顶部/左侧位置吗?

html - 固定位置 - 宽度错误

HTML文件不会读取外部CSS?

javascript - 将一个 div 从多个其他 div 下方拖出

javascript - 隐藏在 droppable 后面的 JQueryUI 可拖动对象

jquery - 拖放 div 并存储位置