底线排队
有没有CSS方法可以解决这个问题? 或者我是否必须破解这个jquery插件我用来将动态下拉列表移动到表单的OUTSIDE,执行一个位置:绝对,并将其移回到表单中?
(嗯,在stackoverflow这个'tags'字段看起来像我需要的东西: - )
编辑 要修复的固定页面示例。对不起,在提交问题之前应该这样做。
编辑 7月20日:删除z-index的字段集CSS:0解决了FireFox的问题。我测试了http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ - 它将DIV附加到html BODY的末尾,它可以跨浏览器工作。
背景
带有几个带有图例的字段集的简单表单。 CSS没什么特别的:
label { float:left; width: 150px; }
input { float: left; width: 132px; }
fieldset { position:relative; }
注意 这意味着,在HTML中,我会在每个输入标记后左侧显示一个带有清除的BR标记。
- >表格看起来不错,一切都很好。
推动目标
但是,中间的1个字段有太多的数据(即所有主要的美国专利分类代码)。因此,这需要更多可用。我在想...自动完成...保存匹配,所以一个文本字段“标记”匹配......等等。
完美,这是一个很常见的需求。所以,我打了一个jquery插件,用于标记化,多选择,文本字段插件。只有少数人使用自动完成功能进行多项选择。选择其中任何一个。我已经尝试过了所有这些: - )
所有人都倾向于对某些HTML片段进行$(输入).insertAfter() - 通常是通过Javascript填充以包含UI / LI列表。
- >还好,没有古怪。
问题
哦,天哪 - 传说,场景,复选框,一切都在自我编织中。下面的下拉div / ul内容。这是 NOT IE z索引问题。
我是否必须破解插件才能在表单外部插入DIV下拉代码段? (然后位置:绝对; z-index:999;顶部/左侧向上移回表格) 或者......有一个CSS解决方案吗?
参考文献:
答案 0 :(得分:5)
你在问题中没有真正提到这一点,但你只是在IE中遇到问题,对吧?因为我无法在任何其他浏览器中重现它。
答案很简单:
修复您的doctype!
您当前的doctype会触发quirks mode,因为它缺少系统标识符。因此,所有赌注都没有了。将其更改为HTML4 Strict:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
即使修复当前的doctype,也应该这样做:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
或者更好的是,使用HTML5 doctype(因为doctypes唯一有用的是触发标准模式,这是你需要做的最短的文档类型):
<!DOCTYPE html>
答案 1 :(得分:1)
您使用的是哪个版本的IE?这是IE6中的已知问题。
在IE6中,选择为windowed objects,这意味着它们存在于页面上所有其他无窗口元素之上的平面上。 IE6中的Select元素不支持z-index and other properties。
我可靠地解决这个问题的唯一方法是当select由另一个元素覆盖时,用'display:none'隐藏select。
评论后编辑
从base_new.css中的form#newsearch div.fs, form#newsearch fieldset
删除z-index:0(第251行)会将其修复为FF
答案 2 :(得分:0)
似乎是z-index
问题。尝试增加自动填充显示的div的z-index
。
答案 3 :(得分:0)
要遵循这一点很多,但想知道您是否尝试将项目放在&lt; div&gt;内。标签,那么你可以将样式信息分配给div(如高度和溢出)?
进一步检查您的屏幕截图 - 是否显示带有可能项目的div - 问题是什么?它没有出现在其他表单元素之上?我不确定我是否完全理解,但基于屏幕截图,看起来你可以调整zindex,或者div的透明度使它完全不透明。)
答案 4 :(得分:0)
只是出于兴趣,你尝试使用clear:浮动后的两个CSS标签,看看这是否有任何影响?例如。 <br style="clear:both" />
。
答案 5 :(得分:0)
好的 - 我找到了答案。
有没有纯CSS解决方案(我可以找到),它允许现有的jquery插件的下拉列表正确地悬停在所有表单元素上。
经验教训:如果他们没有正确制作标记......你无能为力。
以下是我修复Tokenizing Autocomplet Text Entry插件(jquery)的方法 来自http://loopj.com/2009/04/25/jquery-plugin-tokenizing-autocomplete-text-entry/
将jquery.tokeninput.js文件编辑为:
.css("position", "absolute")
.css("top", $(token_list).offset().top + $(token_list).height())
.css("left", $(token_list).offset().left)