html - 如何水平居中长度未知的 div 并使用最小宽度?

标签 html css

我正在更新旧网站上的一些遗留代码,而 CSS 是一场噩梦。我想要做的就是在需要时使包含用户名的 div 扩展一点,并使外部 div 在页面上居中(水平)。 myLabel 控件是根据用户名填充的(通常不会预定义为 John Doe)。

目前,在 myContainer 上的 800px 值和 myGridB 上的 350px 值之间,更长的用户名被包裹在 div 中。我宁愿在一行中显示长名称,并且在可能的情况下,不要将其他控件移至下一行。

我已经尝试在 myContainer 和 myGridB 上使用 min-width ,但这只允许 div 扩展到整个页面。我看到这是 this question 中 div 的常见行为。

我也尝试了 this other question 中的一些方法,但这将我的标题内容推到了左边,我需要它居中。

我意识到这段代码是乱码,但我很欣赏任何想法......

aspx:

<div class="myLogo1">
    <div class="myContainer" style="width: 800px">
        <div class="myGridC myLogo2 first">
            <a onclick="loadMyHomePage(); "><img src="myImageAddress" /></a>
        </div>
        <div class="myGridB first last">
            <div class="myHome myGridB first last">
                <asp:Label runat="server" CssClass="myHome" ID="myLabel">
                    John Doe
                </asp:Label>
                <span class="myHome">
                    <asp:HyperLink NavigateUrl="mySettingsPage.aspx" runat="server">
                        My Settings
                    </asp:HyperLink>
                </span>
                <a href="myLogoutPage.aspx") %>">
                    <img src="myLogout.jpg") %>" alt="Logout" />
                </a>
            </div>
            <div class="myGridB first last">
                <div class="myGridA myPaddingA myHome">
                    <a href="myOtherPage" target="_blank">
                        <img width="180px" height="72px" src="myOther.jpg" />
                    </a>
                </div>
            </div>
        </div>
    </div>
</div>

CSS:

.myLogo1
{
    background-color: #363636; /* #000000; */
    width: 100%;
    height: 125px;
}
.myContainer
{
    margin-left: auto;
    margin-right: auto;
    width: 960px;
}
.myGridA, .myGridB, .myGridC {
    display: inline;
    float: left;
    margin-left: 5px;
    margin-right: 5px;
}
.myGridA
{
    width: 190px;
}
.myGridB
{
    width: 350px;
}
.myGridC
{
    width: 390px;
}
.myLogo2
{
    border: none 0px transparent;
    padding-top: 10px;
}
.first
{
    margin-left: 0;
}
.last
{
    margin-right: 0;
}
.myHome
{
    text-align: right;
    display: block;
    vertical-align: top;
    float: right;
    position: relative;
    font-size: 9pt;
}

.myHome span
{
    font-size: 9pt;
    float: left;
    padding: 3px 5px 0px 0px;
}
.myContainer .myPaddingA
{
    padding-left: 44px;
}

最佳答案

如果是想法的话,我通常如何将我的 div 水平居中是我将容器设置为一定的 % 宽度。然后我使用 margin: auto;希望有所帮助。

关于html - 如何水平居中长度未知的 div 并使用最小宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14903662/

相关文章:

javascript - Datepicker 日期格式返回分钟而不是月份

html - 在 flex 盒子中以不同方式对齐 2 个不同的元素

javascript - 添加事件监听器为空

html - CSS 三 Angular 形和盒子阴影

html - 使用 css 隐藏 html 列表项

html - Chrome 和 Opera 占位符

javascript - Http 状态未在 try 和 catch javascript 上触发

jquery - 设置 jQuery UI DataTable 行样式的简单方法?

javascript - 如何将文本从html输入写入json文件?

javascript - 在 React.js 中获取不工作