【发布时间】:2015-08-14 15:45:49
【问题描述】:
问题: 我有一个表单,下面有一个按钮,可以使用 jQuery ajax() 从数据提交(发布)。我希望在服务器 ajax 调用期间将按钮替换为微调器(动画 png)。但是这样一个微不足道的任务在 css 中是不可能做对的。
我尝试过的: 我已将按钮和图像放在引导行中。 Ox ajax 调用我已将按钮显示设置为无,将 img 显示设置为阻止。但是因为这两个大小不一样导致整个页面闪烁,打断其他元素的定位等等。
另一个想法是尝试以绝对定位将两个元素放在彼此之上。但是,像 css 一样愚蠢,我不能将它放在行的中间。
有没有办法将两个元素放在一起,以便我可以控制它们的可见性? 请记住,我不能以像素为单位使用绝对位置,因为这是一个网页,我不知道浏览器的宽度,图像将来会改变,按钮中的文本将来会改变,所有这些事物影响绝对大小。 如果我的问题有另一种解决方案可以防止页面上下跳跃,那也很棒。
编辑 链接到小提琴实验之一: https://jsfiddle.net/ofb2qdt8/
.button {
position: relative;
margin: auto;
height: 50px;
width: 30px;
background: blue;
z-index: 1;
display: block;
}
.spinner {
position: relative;
margin: auto;
height: 30px;
width: 50px;
background:red;
z-index: 2;
}
这会在屏幕下方呈现第二个元素。不在不同的 z 层上。
实验 2: https://jsfiddle.net/ofb2qdt8/
.button {
position: absolute;
margin: auto;
height: 50px;
width: 30px;
background: blue;
z-index: 1;
display: block;
}
.spinner {
position: absolute;
margin: auto;
height: 30px;
width: 50px;
background:red;
z-index: 2;
}
这不会使两个元素居中,它们会被推到包含 div 的顶部。高度较小的元素应该居中。
【问题讨论】:
-
你需要给我们看一些代码。
-
你的代码可以解释更多关于你的要求,所以试着添加一些小提琴来讨论更多关于你的问题
-
我已经尝试了可能的变化,但我认为发布它没有什么意义,因为它会增加混乱。但我会编辑问题并添加小提琴链接到我尝试过的一些非工作的东西。
-
因为这个问题根本没有很好的解释。 jsFiddle 似乎完全无关紧要。
标签: javascript jquery html css