【问题标题】:How to place navbar menu below logo?如何将导航栏菜单放在徽标下方?
【发布时间】:2019-07-07 04:37:48
【问题描述】:

我使用自定义 CSS 和引导类名称构建了此标头。我已经尝试过z-indexfloat: initial 属性。提前致谢

.branding-preview {
    height: 75px;
    margin-left: 15px;
    margin-right: 15px;
    background-color: #0071bb;
}

.branding-logo {
    float: left;
    height: 50px;
    font-size: 18px;
    padding: 15px 15px;
}

.branding-logo img {
    width: 300px;
    height: 50px;
}

.branding-powered-by-logo {
    float: right;
    height: 50px;
    color: white;
    font-size: 15px;
    padding: 2px 10px;
}

.preview-menu {
    margin: 30px 0 0 0;
}

.preview-menu > li > a {
    margin: 0 3px;
    color: white;
    text-transform: uppercase;
    border-bottom: solid 1px transparent;
    background-color: transparent !important;
}
<div class="branding-preview">
	<div class="branding-logo">
		<img id="branding-logo" src="/path/to/logo">
	</div>
	<div class="branding-powered-by-logo">
		<span>Powered By</span>
		<img id="branding-powered-by-logo" src="/path/to/logo" height="30">
	</div>
	<ul class="navbar-nav navbar-right nav preview-menu">
		<li><a>Start</a></li>
		<li><a>Plan</a></li>
		<li><a>Manage</a></li>
		<li><a>Learn</a></li>
		<li><a>Admin</a></li>
	</ul>
</div>

这是我使用当前代码得到的结果, 实际结果:

这是我希望它的样子,预期的结果:

【问题讨论】:

  • 您不能将品牌标识绝对定位,并将品牌预览定位为相对位置吗?
  • 或者,将“power by”和“navigation”包含在单个 DIV 元素中并使其向右浮动。让“powered by”文本右对齐,“powered by”和“navigation”都没有浮动。

标签: html css twitter-bootstrap twitter-bootstrap-3 navbar


【解决方案1】:

没有所有 css 规则并不简单,但概念是:创建一个浮动到右侧并在内部创建 2 行的包装器,其中一个用于 branding-powered-by-logodisplay:block 第二行取决于实际的 CSS,但可能无需修改即可工作。

如果您可以发布真实页面,我们可以为您提供更精确的帮助。 希望对您有所帮助。

.branding-preview {
    display:block;
    height: 75px;
    margin-left: 15px;
    margin-right: 15px;
    background-color: #0071bb;
}

.branding-logo {
    float: left;
    height: 50px;
    font-size: 18px;
    padding: 15px 15px;
}

.branding-logo img {
    width: 300px;
    height: 50px;
}

.branding-powered-by-logo {
    /* ADDED */
      display:block;
      text-align:right;
    
    height: 50px;
    color: white;
    font-size: 15px;
    padding: 2px 10px;
}

.preview-menu {
    margin: 0px 0 0 0;
}

.preview-menu > li > a {
    margin: 0 3px;
    color: white;
    text-transform: uppercase;
    border-bottom: solid 1px transparent;
    background-color: transparent !important;
}


/* ADDED */
.wrapper-logo-navbar {
  float: right;
}
.preview-menu > li {
  display: inline-block;
}
<div class="branding-preview">
	<div class="branding-logo">
		<img id="branding-logo" src="/path/to/logo">
	</div>
  
  <div class="wrapper-logo-navbar">
    <div class="branding-powered-by-logo">
      <span>Powered By</span>
      <img id="branding-powered-by-logo" src="https://cdn.pixabay.com/photo/2012/05/02/19/27/head-46086_960_720.png" height="30">
    </div>
    <ul class="navbar-nav navbar-right nav preview-menu">
      <li><a>Start</a></li>
      <li><a>Plan</a></li>
      <li><a>Manage</a></li>
      <!-- removed some elements for the rendering on StackOverflow -->
    </ul>
  </div>
</div>

【讨论】:

    【解决方案2】:

    我认为你只需要添加 position:absolute; right:0px; 到你的 .preview-menu 类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-27
      • 2015-11-04
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      相关资源
      最近更新 更多