首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在右侧渲染div并保持导航居中

在右侧渲染div并保持导航居中
EN

Stack Overflow用户
提问于 2017-08-17 00:50:42
回答 1查看 23关注 0票数 0

我想通过将nav居中来呈现包含多个按钮的divnav。然而,我不能得到一个满意的结果。如果我将我的div放在nav之后,div显示在右侧,但在nav下面,部分原因是以下CSS语句:

代码语言:javascript
复制
header {
    position: relative;
    width: 100%
    background: #333;
}

nav {
    position: relative;
    margin: 0 auto;
}

如果我删除header width属性并使nav floatleft,那么我将丢失nav的居中位置。

下面是HTML代码:

代码语言:javascript
复制
<div class='header'>
  <div class='header-content'>
    <div class='welcome-div'>
      <h1>
        Hello
      </h1>
      <header>
        <nav id='drop-down-menu'>
          <div class="button"></div>
          <ul>
            <li class='active'><a href='#'>HOME</a></li>
            <li><a href='#'>ABOUT</a></li>
            <li><a href='#'>PRODUCTS</a>
            <ul>
              <li><a href='#'>Product 1</a>
                <ul>
                  <li><a href='#'>Sub Product</a></li>
                  <li><a href='#'>Sub Product</a></li>
                </ul>
              </li>
              <li><a href='#'>Product 2</a>
                <ul>
                  <li><a href='#'>Sub Product</a></li>
                  <li><a href='#'>Sub Product</a></li>
                </ul>
              </li>
            </ul>
          </li>
          <li><a href='#'>BIO</a></li>
          <li><a href='#'>VIDEO</a></li>
          <li><a href='#'>GALLERY</a></li>
          <li><a href='#'>CONTACT</a></li>
        </ul>
      </nav>
      <div class='lang'>
        <a class='hover-fade'>Français</a> 
        <a class='hover-fade'>English</a> 
        <a class='hover-fade'>日本語</a> 
      </div>
    </header>
  </div>
</div>
</div>
<div class='clear'/>

CSS one:

代码语言:javascript
复制
* {
    margin: 0;
    padding: 0;
    text-decoration: none;
}

header {
    position: relative;
    width: 100%
    background: #333;
}

nav {
    position: relative;
    margin: 0 auto;
}

#drop-down-menu, 
#drop-down-menu ul, 
#drop-down-menu ul li, 
#drop-down-menu ul li a, 
#drop-down-menu 
#head-mobile {
    border: 0;
    list-style: none;
    line-height: 1;
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 1;
}

#drop-down-menu:after, 
#drop-down-menu > ul:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

#drop-down-menu 
#head-mobile {
    display: none
}

#drop-down-menu {
    font-family: sans-serif;
    background: #333
}

#drop-down-menu > ul > li {
    display:inline-block;
    position: relative;
}

#drop-down-menu > ul {
    text-align: center;
}

#drop-down-menu > ul > li > a {
    padding: 17px;
    font-size: 12px;
    letter-spacing: 1px;
    text-decoration: none;
    color: #ddd;
    font-weight: 700;
}

#drop-down-menu > ul > li:hover > a, 
#drop-down-menu ul li.active a {
    color: #fff
}

#drop-down-menu > ul > li:hover, 
#drop-down-menu ul li.active:hover, 
#drop-down-menu ul li.active, 
#drop-down-menu ul li.has-sub.active:hover {
    background: #448D00 !important;
    -webkit-transition: background .3s ease;
    -ms-transition: background .3s ease;
    transition: background .3s ease;
}

#drop-down-menu > ul > li.has-sub > a {
    padding-right: 30px
}

#drop-down-menu > ul > li.has-sub > a:after {
    position: absolute;
    top: 22px;
    right: 11px;
    width: 8px;
    height: 2px;
    display: block;
    background: #ddd;
    content: ''
}

#drop-down-menu > ul > li.has-sub > a:before {
    position: absolute;
    top: 19px;
    right: 14px;
    display: block;
    width: 2px;
    height: 8px;
    background: #ddd;
    content: '';
    -webkit-transition: all .25s ease;
    -ms-transition: all .25s ease;
    transition: all .25s ease
}

#drop-down-menu > ul > li.has-sub:hover > a:before {
    top: 23px;
    height: 0
}

#drop-down-menu ul ul {
    position: absolute;
    left: -9999px
}

#drop-down-menu ul ul li {
    height: 0;
    -webkit-transition: all .25s ease;
    -ms-transition: all .25s ease;
    background: #333;
    transition: all .25s ease
}

#drop-down-menu ul ul li:hover {

}

#drop-down-menu li:hover > ul {
    left: auto
}

#drop-down-menu li:hover > ul > li {
    height: 35px
}

#drop-down-menu ul ul ul {
    margin-left: 100%;
    top: 0
}

#drop-down-menu ul ul li a {
    border-bottom: 1px solid rgba(150,150,150,0.15);
    padding: 11px 15px;
    width: 170px;
    font-size: 12px;
    text-decoration: none;
    color: #ddd;
    font-weight: 400;
}

#drop-down-menu ul ul li:last-child > a, 
#drop-down-menu ul ul li.last-item > a {
    border-bottom: 0
}

#drop-down-menu ul ul li:hover > a, 
#drop-down-menu ul ul li a:hover {
    color: #fff
}

#drop-down-menu ul ul li.has-sub > a:after {
    position: absolute;
    top: 16px;
    right: 11px;
    width: 8px;
    height: 2px;
    display: block;
    background: #ddd;
    content: ''
}

#drop-down-menu ul ul li.has-sub > a:before {
    position: absolute;
    top: 13px;
    right: 14px;
    display: block;
    width: 2px;
    height: 8px;
    background: #ddd;
    content: '';
    -webkit-transition: all .25s ease;
    -ms-transition: all .25s ease;
    transition: all .25s ease
}

#drop-down-menu ul ul > li.has-sub:hover > a:before {
    top: 17px;
    height: 0
}

#drop-down-menu ul ul li.has-sub:hover, 
#drop-down-menu ul li.has-sub ul li.has-sub ul li:hover {
    background: #363636;
}

#drop-down-menu ul ul ul li.active a {
    border-left: 1px solid #333
}

#drop-down-menu > ul > li.has-sub > ul > li.active > a, 
#drop-down-menu > ul ul > li.has-sub > ul > li.active > a {
    border-top: 1px solid #333
}

.hover-fade:hover, .hover-fade:focus, .hover-fade:active {
    background-color: #2098D1;
    color: white;
}

.hover-fade {
    display: inline-block;
    vertical-align: middle;
    font-family: 'Roboto', sans-serif;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    overflow: hidden;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color;
    margin: .1em;
    padding: .5em;
    cursor: pointer;
    background: #e1e1e1;
    background-color: rgb(225, 225, 225);
    text-decoration: none;
    color: #666;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
    width: 100%;
    margin: 0;
    padding: 0;
    min-width: 1200px;
    background-color: #111;
}

.header {
    float: left;
    min-width: 100%;
    background-color: #333;
}

.header-content {
    color: #ffffff;
}

.welcome-div {
    text-align: center;
}

.welcome-div h1 {
    padding: 1.5em;
    vertical-align: middle;
    font-family: 'Helvetica Neue', sans-serif;
    font-size: 46px;
    font-weight: 500;
    line-height: 10px;
    letter-spacing: 1px;
}

.lang {
    float: right;
    padding: 0.5em;
}

.content {
    padding: 2em 0 2em 0;
    margin-left: auto;
    margin-right: auto;
    width: 60%;
}

.box {
    position: relative;
    width: 80%;
    margin: 0 auto;
    color: #ffffff;
}

.box h1 {
    padding: 0.5em 0 0.5em 0;
    font-family: 'Graduate', sans-serif;
    font-size: 36px;
    font-weight: 600;
    letter-spacing: 1px;
    text-align: center;
    background-color: #448D00;  
}

.clear {
    clear: both;
}

还有一台JSFiddle sample

我想保持相同的布局,但与3个按钮对齐的nav

谢谢你的回答。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-17 01:24:17

header的右上角绝对定位你的lang

代码语言:javascript
复制
* {
    margin: 0;
    padding: 0;
    text-decoration: none;
}

header {
    position: relative;
    width: 100%
    background: #333;
}

nav {
    position: relative;
    margin: 0 auto;
}

#drop-down-menu, 
#drop-down-menu ul, 
#drop-down-menu ul li, 
#drop-down-menu ul li a, 
#drop-down-menu 
#head-mobile {
    border: 0;
    list-style: none;
    line-height: 1;
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 1;
}

#drop-down-menu:after, 
#drop-down-menu > ul:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

#drop-down-menu 
#head-mobile {
    display: none
}

#drop-down-menu {
    font-family: sans-serif;
    background: #333
}

#drop-down-menu > ul > li {
    display:inline-block;
    position: relative;
}

#drop-down-menu > ul {
    text-align: center;
}

#drop-down-menu > ul > li > a {
    padding: 17px;
    font-size: 12px;
    letter-spacing: 1px;
    text-decoration: none;
    color: #ddd;
    font-weight: 700;
}

#drop-down-menu > ul > li:hover > a, 
#drop-down-menu ul li.active a {
    color: #fff
}

#drop-down-menu > ul > li:hover, 
#drop-down-menu ul li.active:hover, 
#drop-down-menu ul li.active, 
#drop-down-menu ul li.has-sub.active:hover {
    background: #448D00 !important;
    -webkit-transition: background .3s ease;
    -ms-transition: background .3s ease;
    transition: background .3s ease;
}

#drop-down-menu > ul > li.has-sub > a {
    padding-right: 30px
}

#drop-down-menu > ul > li.has-sub > a:after {
    position: absolute;
    top: 22px;
    right: 11px;
    width: 8px;
    height: 2px;
    display: block;
    background: #ddd;
    content: ''
}

#drop-down-menu > ul > li.has-sub > a:before {
    position: absolute;
    top: 19px;
    right: 14px;
    display: block;
    width: 2px;
    height: 8px;
    background: #ddd;
    content: '';
    -webkit-transition: all .25s ease;
    -ms-transition: all .25s ease;
    transition: all .25s ease
}

#drop-down-menu > ul > li.has-sub:hover > a:before {
    top: 23px;
    height: 0
}

#drop-down-menu ul ul {
    position: absolute;
    left: -9999px
}

#drop-down-menu ul ul li {
    height: 0;
    -webkit-transition: all .25s ease;
    -ms-transition: all .25s ease;
    background: #333;
    transition: all .25s ease
}

#drop-down-menu ul ul li:hover {

}

#drop-down-menu li:hover > ul {
    left: auto
}

#drop-down-menu li:hover > ul > li {
    height: 35px
}

#drop-down-menu ul ul ul {
    margin-left: 100%;
    top: 0
}

#drop-down-menu ul ul li a {
    border-bottom: 1px solid rgba(150,150,150,0.15);
    padding: 11px 15px;
    width: 170px;
    font-size: 12px;
    text-decoration: none;
    color: #ddd;
    font-weight: 400;
}

#drop-down-menu ul ul li:last-child > a, 
#drop-down-menu ul ul li.last-item > a {
    border-bottom: 0
}

#drop-down-menu ul ul li:hover > a, 
#drop-down-menu ul ul li a:hover {
    color: #fff
}

#drop-down-menu ul ul li.has-sub > a:after {
    position: absolute;
    top: 16px;
    right: 11px;
    width: 8px;
    height: 2px;
    display: block;
    background: #ddd;
    content: ''
}

#drop-down-menu ul ul li.has-sub > a:before {
    position: absolute;
    top: 13px;
    right: 14px;
    display: block;
    width: 2px;
    height: 8px;
    background: #ddd;
    content: '';
    -webkit-transition: all .25s ease;
    -ms-transition: all .25s ease;
    transition: all .25s ease
}

#drop-down-menu ul ul > li.has-sub:hover > a:before {
    top: 17px;
    height: 0
}

#drop-down-menu ul ul li.has-sub:hover, 
#drop-down-menu ul li.has-sub ul li.has-sub ul li:hover {
    background: #363636;
}

#drop-down-menu ul ul ul li.active a {
    border-left: 1px solid #333
}

#drop-down-menu > ul > li.has-sub > ul > li.active > a, 
#drop-down-menu > ul ul > li.has-sub > ul > li.active > a {
    border-top: 1px solid #333
}

.hover-fade:hover, .hover-fade:focus, .hover-fade:active {
    background-color: #2098D1;
    color: white;
}

.hover-fade {
    display: inline-block;
    vertical-align: middle;
    font-family: 'Roboto', sans-serif;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    overflow: hidden;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color;
    margin: .1em;
    padding: .5em;
    cursor: pointer;
    background: #e1e1e1;
    background-color: rgb(225, 225, 225);
    text-decoration: none;
    color: #666;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
    width: 100%;
    margin: 0;
    padding: 0;
    min-width: 1200px;
    background-color: #111;
}

.header {
    float: left;
    min-width: 100%;
    background-color: #333;
}

.header-content {
    color: #ffffff;
}

.welcome-div {
    text-align: center;
}

.welcome-div h1 {
    padding: 1.5em;
    vertical-align: middle;
    font-family: 'Helvetica Neue', sans-serif;
    font-size: 46px;
    font-weight: 500;
    line-height: 10px;
    letter-spacing: 1px;
}

.content {
    padding: 2em 0 2em 0;
    margin-left: auto;
    margin-right: auto;
    width: 60%;
}

.box {
    position: relative;
    width: 80%;
    margin: 0 auto;
    color: #ffffff;
}

.box h1 {
    padding: 0.5em 0 0.5em 0;
    font-family: 'Graduate', sans-serif;
    font-size: 36px;
    font-weight: 600;
    letter-spacing: 1px;
    text-align: center;
    background-color: #448D00;  
}

.clear {
    clear: both;
}

.lang {
    padding: 0.5em;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1000;
}
代码语言:javascript
复制
<div class='header'>
  <div class='header-content'>
    <div class='welcome-div'>
      <h1>
        Hello
      </h1>
      <header>
        <nav id='drop-down-menu'>
          <div class="button"></div>
          <ul>
            <li class='active'><a href='#'>HOME</a></li>
            <li><a href='#'>ABOUT</a></li>
            <li><a href='#'>PRODUCTS</a>
            <ul>
              <li><a href='#'>Product 1</a>
                <ul>
                  <li><a href='#'>Sub Product</a></li>
                  <li><a href='#'>Sub Product</a></li>
                </ul>
              </li>
              <li><a href='#'>Product 2</a>
                <ul>
                  <li><a href='#'>Sub Product</a></li>
                  <li><a href='#'>Sub Product</a></li>
                </ul>
              </li>
            </ul>
          </li>
          <li><a href='#'>BIO</a></li>
          <li><a href='#'>VIDEO</a></li>
          <li><a href='#'>GALLERY</a></li>
          <li><a href='#'>CONTACT</a></li>
        </ul>
      </nav>
      <div class='lang'>
        <a class='hover-fade'>Français</a> 
        <a class='hover-fade'>English</a> 
        <a class='hover-fade'>日本語</a> 
      </div>
    </header>
  </div>
</div>
</div>
<div class='clear'/>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45719086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档