代码之家  ›  专栏  ›  技术社区  ›  einarq

CSS问题:“文本对齐:中心”和“最小宽度”的组合不能在IE7/IE8兼容模式下工作

  •  5
  • einarq  · 技术社区  · 15 年前

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <style type="text/css">
        input.navbutton
        {
            text-align: center;
            min-width: 100px;
        }
    </style>
    </head>
    <body>
        <input type="submit" class="navbutton " value="Next" />
    </body>
    </html>
    

    在IE 7上,结果如下:

    alt text

    但在Firefox上看起来是这样的:

    alt text

    如您所见,文本在IE7中没有正确居中。

    有什么办法解决这个问题吗?

    7 回复  |  直到 6 年前
        1
  •  2
  •   BalusC    15 年前

    min-width 在IE6/7中,按钮已经不起作用(当文本变大时,它根本不会展开按钮,正如您所期望的那样)。替换为 width 接受它。

        2
  •  1
  •   Sarfraz    15 年前

    试试这个:

    input.navbutton
    {
        text-align: center;
        min-width: 100px;
        align:center;
    }
    

    align 也会影响文本。

        3
  •  1
  •   Gabriele Petrioli    15 年前

    你在那儿抓到的虫子真好,艾纳克。。

    这可能与最小宽度错误有关: http://social.msdn.microsoft.com/Forums/en/iewebdevelopment/thread/e54188ad-cdad-4168-bbf9-2d0b5271676d

    我能看到的唯一可行的解决方法是降低最小宽度并添加左右填充。。

        4
  •  1
  •   Pluto    9 年前

    我花了一段时间才弄明白,但我终于明白了。需要使用三个属性的组合:

    input.navbutton {
        min-width: 100px;
        overflow: visible;
        line-height: 120%;
    }
    

    文本将自动居中。 line-height 如果将文本向左或向右对齐,则可以排除。看到了吗 this jsfiddle

    Example shown in IE7

        5
  •  0
  •   Parsa Showkati    6 年前

    这对我来说是个大问题,但我有个解决办法

    input.navbutton
    {
        text-align: center;
        min-width: 100px;
        margin: auto;
    }
    

    这对我来说很管用

        6
  •  -1
  •   Ben Hoffman    15 年前

    margin: 0 auto; 在CSS中。我知道这篇文章的中心是 <div> 但是我不知道纽扣。

        7
  •  -1
  •   user984272 user984272    13 年前

        input.navbutton
        {
                text-align: center;
                min-width: 100px;
        }