html - 在一行上对齐 Logo 、导航和社交图标

标签 html css twitter-bootstrap alignment inline

我正在尝试将 Logo 、导航链接和社交图标对齐在一行上。我在我的页面上使用 Bootstrap 和自定义 CSS 样式。

HTML:

<header id="header-main">
  <div id="site-header">
    <div class="container">
      <div class="row">
        <div class="col-sm-12">
          <div id="site-logo">
            <a href="www.google.com"><img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="" /></a>
          </div>
          <div class="social-set">
            <a href="https://www.facebook.com" target="_blank">
              <li class="fa fa-facebook"></li>
            </a>
          </div>
          <!-- end social-set -->
          <nav id="nav">
            <div class="menu-main-container">
              <ul id="menu-main" class="menu">
                <li id="menu-item-47" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-33 current_page_item menu-item-47"><a href="http://www.website.com/">Home</a></li>
              </ul>
            </div>
          </nav>
        </div>
        <!-- .col-sm-12 -->
      </div>
      <!-- .row -->
    </div>
    <!-- .container -->
  </div>
  <!-- .site-header -->

CSS:
#header-main {
  width: 100%;
  margin: 0 0 9px 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}

#site-header {
  max-width: 1280px;
  margin: 0 auto;
  background: #fff;
  position: relative;
}

#site-logo {
  margin: 0;
  padding: 0;
  line-height: 1em;
  position: relative;
  font-weight: 900;
  font-size: 2em;
  z-index: 999;
  display: inline-block;
}

.social-set ul {
  margin: 6px 0 0 !important;
  padding: 0;
  display: inline;
}

.social-set ul li {
  padding: 0 2px 5px 0;
  margin: 0;
  display: inline-block;
  border: none !important;
  clear: none;
  line-height: 100%;
}

.social-set li img {
  vertical-align: middle;
  margin-top: -3px;
}

#nav {
  max-height: 100px;
  overflow: hidden;
}

#nav ul {
  margin: 0 0 30px 0;
  text-align: center;
}

#nav ul {
  margin: 0 0 30px 0;
  text-align: center;
}

#nav li {
  padding: 0 16px;
  font: 400 18px/13px 'Open Sans', sans-serif;
  display: inline-block;
  text-transform: uppercase;
}

.social-set {
  float: right;
  margin-bottom: 10px;
}

我可以使用 position: absolute将 Logo 设置在固定位置和一行但我想使用 position relative并让它根据导航和社交图标中的链接数量在一行上自行调整。

JSFiddle demo

最佳答案

socialnav元素需要display: inline-block属性(property)。此外,使用vertical-align 和line-height,您可以对齐到同一行。

fiddle : https://jsfiddle.net/xs364op0/14/

关于html - 在一行上对齐 Logo 、导航和社交图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36520500/

相关文章:

html - 为什么我的不透明度过渡时间 (CSS) 不起作用? CSS block 中的其他所有内容都有效吗?

html - CSS:使用CSS设置背景图片

html - 移动响应不适用于所有移动设备

javascript - Javascript 修改 CSS 时的 CSS 特异性?

html - HTML 标记中的 Bootstrap 3 模态放置

css - 如何创建使用BootStrap的WordPress主题?

html - 有谁知道为什么我的联系我们侧边栏 div 链接在圆 Angular 边框和渐变之间有空白?

javascript - 获取动态 float div的宽度

html - 向用户隐藏图像

html - 3列显示:带溢流的灵活布局:省略号