css - Forms CSS ……这太荒谬了

标签 css forms

底线在前

有没有 CSS 方法可以解决这个问题? 或者我是否必须破解我用来将动态下拉 div 移动到表单外部的 jquery 插件,执行 position:absolute,然后将其移回表单中?

(嗯,stackoverflow 上的这个“标签”字段看起来正是我需要的:-)

EDIT 修复了要验证的页面示例。抱歉,应该在提交问题之前完成此操作。

编辑 7 月 20 日:删除 z-index:0 的字段集 CS​​S 解决了 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 中,我在每个输入标签后添加了一个带有 clear:left 的 BR 标签。

--> 表格看起来不错,一切都很好。

驱动目标

但是,中间的 1 个字段有太多数据(即所有主要的美国专利分类代码)。因此,这需要更有用。我在想……自动完成……保存匹配项,所以一个文本字段“标记”了匹配项……等等。

完美,这是一个足够普遍的需求。因此,我为标记化、多选、文本字段插件安装了一个 jquery 插件。只有少数几个可以进行多项选择,并具有自动完成功能。选择其中任何一个。我都试过了 :-)

所有人都倾向于执行一些 HTML 片段的 $(input).insertAfter() —— 通常是通过 Javascript 填充以包含 UI/LI 列表。

--> 还不错,还没有古怪。

问题

哦,我的天——图例、字段集、复选框,一切都在下拉 div/ul 内容中和之上。这不是 IE z-index 问题。

  • position:absolute 将其混合在一起,不会像导航菜单、工具提示、css 弹出窗口等通常那样很好地放置
  • position:relative 阻止它混搭,但是......好吧......它现在是相对的。因此,容器字段集向下延伸等。
  • firebug、在 CSS 上修改 z-index/position 等都无法解决这个问题。

我是否必须破解插件才能在表单外插入 DIV 下拉代码片段? (然后 position:absolute;z-index:999; top/left 向上移动回到表格中) 或者...有没有 CSS 解决方案?

引用资料:

最佳答案

你实际上并没有在你的问题中提到这个,但你只是在 IE 中遇到了问题,对吧?因为我无法在任何其他浏览器中重现它。

答案很简单:

修复您的文档类型!

您当前的文档类型触发器 quirks mode因为它缺少系统标识符。因此,所有的赌注都落空了。将其更改为 HTML4 Strict:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">

即使修复当前的文档类型也应该:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

或者更好的是,使用 HTML5 文档类型(因为文档类型唯一适用于触发标准模式,这是您需要这样做的最短文档类型):

<!DOCTYPE html>

关于css - Forms CSS ……这太荒谬了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148723/

相关文章:

javascript - 如果宽度大于高度,则旋转图像

javascript - Div 在提交表单时创建

javascript - 取消选中某些复选框后重置表单

forms - symfony 是否有一个内置的方法来将受污染的值与原始值进行比较?

html - 使用 CSS 使 div 可垂直滚动

javascript - 使用在 firefox 中不起作用的 jQuery 将背景从一个元素复制到另一个元素

css - 如何自定义 Angular Material Form Field 组件?

java - 丰富的 :dataTable zebra cells with css

javascript - 将模式表单中的数据注入(inject) AngularJS 中的父表单?

java - 取消选中框