我有一个记录管理Web应用程序,它在一个屏幕上显示主记录,AJAXes动态构建编辑器到编辑器div中,我使用JQuery来制作可拖动的。这很有效。
即使div不是一个窗口,我认为让它的行为更像是一个很好的主意,所以我用“关闭”按钮进行编码。结构如下所示:
<div id="editor">
<div id="draghandle" />
<div id="closebutton" />
<div id="editorbody" />
</div>
编辑主体是可变维度,取决于人们想要进入的内容。
Draghandle的宽度设置为编辑器的100%。 Closebutton在CSS中设置为float:right
。
我的问题是,在IE6和IE7中,关闭按钮浮动太远了。它总是在窗口的右边缘,无论我在哪里拖动编辑器div。在Firefox和Safari中,它看起来像我预期的那样 - 窗口和编辑器一样宽,而按钮位于右上角。
我并不特别喜欢浮动:对,只是想找到一种方法来设置CSS,它会在所有浏览器中给出相同的结果。有什么想法吗?
这是我想在jsbin上做的一个模型(谢谢,redsquare)
我正在使用法律敏感信息,因此我无法提供该应用的屏幕截图。但是,我拍摄了一些照片并屏蔽了文本和界面,只留下了窗口结构。
答案 0 :(得分:6)
为了记录,解决这个问题的方法是从
更改关闭按钮的CSSfloat: right;
到
position: absolute;
right: 5px;
text-align: right;
这在IE中产生了正确的结果,并且对于内部表单字段有一点填充,不用担心重叠。
答案 1 :(得分:1)
您可能需要考虑仅使用JQuery Dialog,因为它的premade和样式已经跨平台工作。
答案 2 :(得分:0)
有时需要CSS黑客攻击:
* + html #editor #closebutton /* IE7 */, * html #editor #closebutton /* IE6 */ {margin-right: 100px;} // insert whatever value that fits here
答案 3 :(得分:0)
对于IE特定的css hacks,您可以执行以下操作:
#divId {
margin-right: 0; /*Normal styles for all browsers*/
*margin-right: 100px; /*The asterisk allows only for IE6 AND IE7 to read this*/
_margin-right: 90px; /*The underscore allows only IE6 to read this style*/
}
确保在正常(有效)css样式之后放置星号和下划线黑客。