【问题标题】:Form element not respecting CSS vertical alignment in OperaOpera中的表单元素不尊重CSS垂直对齐
【发布时间】:2011-06-06 07:58:02
【问题描述】:

我在导航栏内插入了一个 Google 自定义搜索引擎表单,但我无法让它在 Opera 中居中对齐。所有浏览器都完美地尊重垂直对齐(是的!甚至 IE ......哇!)。

您可以通过www.micod.cat 查看它(该网站不是英文的,但您可以轻松地查看右侧菜单栏中的“搜索”框)。 Opera 将表单输入字段与顶部齐平,这是不正确的。

这是该元素的 CSS:

#menu li.find form div {
   padding: 0;
   margin: 0;
   height: 50px;
   line-height: 50px;
   vertical-align: middle;
}

请有什么聪明的头脑提供一些见解?非常感谢!

【问题讨论】:

    标签: css alignment opera


    【解决方案1】:

    问题在于 Doctype,将其更改为严格的类型或 HTML 类型来修复它,例如

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    

    XHTML 过渡 Doctype 意味着 Opera 以“几乎标准”模式呈现,虽然我不知道为什么会影响这一点,-Opera Doctype Switches

    【讨论】:

    • 如果你是对的(我没有测试;我假设你做了):很好!
    • Doctype 确实有效,但它也破坏了当前工作网站的其他部分,这当然是 **tt 修复的痛苦。所以,我决定采用@thirtydot 提出的简单而神奇的解决方案,一个美妙而美丽的&amp;nbsp... taaadaaaa!!!还是非常感谢。无论如何,我永远不会想到 Doctype 与它有任何关系。
    【解决方案2】:

    我不知道为什么,或者发生了什么,但是在&lt;input type="q" .. /&gt; 之前放置一个&amp;nbsp; 可以解决它。

    你应该等待一个更好的答案,但如果一个没有到达,至少这是可行的。

    【讨论】:

    • 似乎是 Strict doctype 做到了,但也有一点点 &amp;nbsp ... 而且,更改 DOCTYPE 已经对网站的其他区域产生了很多其他副作用,所以,我猜这个微小但并非微不足道的白色空间会赢一英里!大卫(空白)击败歌利亚(doctype)的另一个案例!!!!我感激不尽。非常感谢你们。 你摇滚!!
    【解决方案3】:

    要对齐的不是内容,而是内容中的图像。

    #menu li.find form div img{ vertical-align: middle; }
    

    看看你需要的网站:

    #menu ul.nav li.find { padding-top: 10px; }
    

    【讨论】:

    • li.find 中没有任何img 元素,因此不会执行任何操作。添加 padding-top 将修复 Opera,但会破坏所有其他浏览器。您应该事先使用 Dragonfly 来尝试想法 (CTRL+SHIFT+I)。
    • 我确实使用 Dragonfly 进行了我发布的修复,但我发现它会破坏其他浏览器,请查看 @clairesuzy 的 DOCTYPE 帖子
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 2017-10-13
    • 2013-10-20
    • 2011-06-05
    • 1970-01-01
    • 2013-04-06
    相关资源
    最近更新 更多