HTML / CSS:使用最小宽度创建居中的div

时间:2009-02-02 04:33:34

标签: html width css

我希望在我的页面上有一个div,它居中并具有一定的宽度,但如果内容需要,则会超出该宽度。我这样做有以下几点:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <style type="text/css">
            .container-center {
                text-align: center;
            }
            .container-minwidth {
                min-width: 5em;
                display: inline-block;
                border: 1px solid blue;
            }
        </style>
    </head>
    <body>
        <div class="container-center">
            <div class="container-minwidth">
                a
            </div>
        </div>
    </body>
</html>

这适用于Firefox / Safari,但不适用于不理解display: inline-block的IE6。关于如何在IE6上进行此工作的任何建议?

3 个答案:

答案 0 :(得分:4)

它不是一个完美的解决方案,但我已经解决了一些IE6缺乏对min-width支持的问题。

<style type="text/css">            
            .container-minwidth {
                min-width: 5em;

                width: auto !important;
                width: 500px; /* IE6 ignores the !important tag */

                /* would help for expanding content if it blows past 500px; */
                overflow:auto; 

                display: inline-block;
                border: 1px solid blue;
            }        
</style>

在这种情况下可能有用的另一个标记是溢出标记。

答案 1 :(得分:1)

实际上Alessandro IE6确实理解display: inline-block,它对你的代码不了解的是min-width。有many hacks to get this to work,但我不会推荐其中任何一个。如果您要使用它们中的任何一个,请确保将它们放在IE6特定的样式表中,这样它就不会干扰您的其他更标准的投诉浏览器。

答案 2 :(得分:0)

<style type="text/css">            
        .container-minwidth {
            min-width: 5em;
            _width: 500px;
            white-space:nowrap;

            display: inline-block;
            *display:inline;
            *zoom:1;

            border: 1px solid blue;
        }        
</style>