html - 将父 div 与动态和设置宽度子 div 居中

标签 html css dynamic width center

这在主父 div 内包含我的 Logo 和导航栏。

Logo 具有固定宽度,导航栏具有动态宽度。导航栏始终位于 Logo 右侧 100 像素处。

目前它是完美的,只是它始终位于屏幕左侧。我希望它在各个方面都相同,除了它位于屏幕的中心。

我查了一下并尝试了在网上找到的不同方法,所有这些似乎都弄乱了我的布局。有任何想法吗?提前致谢。

HTML

<div id="allHead">
    <div id="logo"></div>
    <div id="navigation"></div>
</div>

CSS

#allHead {

    position: relative;
}


#logo {

    width : 100px;
    height : 80px;
    background-color: green;
}


#navigation {

    position: absolute;
    max-width: 600px;
    left: 100px;
    top: 10px;
    right: 0px;
    height : 60px;
    background-color: orange;
}

最佳答案

将未知宽度的 Div 居中

当 div 宽度可变时,下面的居中技术效果很好。它使用外部和内部包装。

  1. 外部包装 div 设置为 text-align:center

  2. 内部包装器是inline-block,并响应外部包装器的text-align:center。它使用 text-align:left 覆盖第一个包装器中的文本中心。

  3. Logo 和菜单是 float 的,因此它们会彼此相邻。

当宽度可变时,这是一种很好的居中技术。

在此示例中,导航将在较小的屏幕尺寸上包裹在 Logo 下方。这对于较小的屏幕可能是有益的。


JSFiddle Example

#allHead {
    text-align:center;
}

.center-inner {
    text-align:left; 
    display:inline-block;
}

#logo {
    width : 100px;
    height : 80px;
    background-color: green;
    float:left;   
}

#navigation {
    max-width: 600px;
    background-color: orange;
    float:left;    
}

这是一个使用 CSS 表格显示将 Logo 和导航保持在一起的布局。由于这是重要的主菜单,因此为 css 表格和表格行添加了 div,以确保浏览器稳定性。

JSFiddle

#allHead {
    text-align:center;
}

.center-inner {
    text-align:left; 
    display:inline-block;
}

.nav-bar-table {
    display:table;
}

.nav-bar-table-row {
    display:table-row;
}

#logo {
    width : 100px;
    height : 80px;
    background-color: green;
    display:table-cell;
}

#navigation {
    max-width: 600px;
    background-color: orange;
    display:table-cell;
    padding:.5em;    
}

最后,这是一个 JSFiddle尝试使用与原始示例类似的绝对定位,并通过填充控制居中。我不会发布代码,因为绝对中心很接近但很难实现,并且顶部的示例更好。

关于html - 将父 div 与动态和设置宽度子 div 居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26317115/

相关文章:

html - 具有响应背景的 Div 内的响应形式

html - 折叠菜单,将所有社交媒体图标放在一行

php - 使用 bootstrap 创建横跨屏幕宽度的行

html - 创建一个 3 列横幅,当浏览器调整大小时是动态的,在最小宽度之后它以中间列为中心

html - Rems 不适用于移动设备

html - 获取页面失败,因为它被 robots.txt 拒绝

css - gulpjs 合并 css 和 less

JavaScript CSS 动画只工作一次

javascript - CDN服务器更新非常频繁

function - 有没有办法让函数 var 在定义后动态化?