bootstrap 4放置按钮在顶部紧角

时间:2019-07-02 11:56:33

标签: jquery html css twitter-bootstrap bootstrap-4

我正在制作一个标题,其中语言选择器应该位于右上角,而左边则有一个徽标图像。 在其下方,有一排链接横跨整个宽度。

通常这不是问题,但是当标题折叠时,语言选择器显示在折叠菜单中。

这就是为什么链接和语言选择器必须一起位于import org.openqa.selenium.WebDriver; import org.openqa.selenium.opera.OperaDriver; import io.github.bonigarcia.wdm.WebDriverManager; public class Opera { public static void main(String[] args) { WebDriverManager.operadriver().setup(); WebDriver d = new OperaDriver(); d.get("http://amazon.ae"); d.close(); } } 中的原因。

这就是为什么选择器在大屏幕上始终处于错误位置的原因。

我还没有找到一种在不破坏折叠菜单的情况下将语言按钮放置在正确位置的方法。

如果一些Bootstrap专家可以看看这一点,那就太好了。

这是需要澄清的图片enter image description here

这是指向fiddle

的链接

<nav class="nav-bar navbar-expand-md">
$('.btn-menu').on('click', function(e) {
  if (!$('html').hasClass('push')) {
    $('html').addClass('push');

  } else {
    $('html').removeClass('push');

  };

  e.preventDefault();
});
/*navbar*/
.btn.btn-custom {
  padding-top: 0px;
  padding-bottom: 0px;
  margin-top: 6px; }
  .btn.btn-custom img {
    margin-right: 6px; }
  .btn.btn-custom:active {
    background-image: #fff; }

/*$background_color_2: rgba(0, 0, 0, 0);*/
/*$border_color_3: #9c9a9a;*/
#header {
  border-bottom: 1px solid #e4e4e4;
  position: relative;
  z-index: 140; }
  #header .logo {
    float: left;
    text-align: left;
    text-indent: -9999px;
    overflow: hidden;
    width: 100%;
    height: 100px;
    background: url("https://images.unsplash.com/photo-1522139137660-4248e04955b8?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1355&q=80") no-repeat;
    margin: 36px 0 0; }
    #header .logo a {
      display: block;
      height: 100%; }
  #header .type2 {
    text-indent: 0;
    font-size: 35px;
    line-height: 40px;
    font-weight: 500;
    padding: 6px 0 0 35px;
    position: relative; }
    #header .type2:before {
      position: absolute;
      content: '';
      background: #fff;
      left: 30px;
      top: 0;
      right: 0;
      bottom: 0; }
    #header .type2 a {
      position: relative;
      z-index: 3; }

#header .tools {
  padding: 0 0 23px; }
  #header .tools:before, #header .tools:after {
    content: " ";
    display: table; }

#header .search-form {
  float: right;
  margin-top: -1px; }

#main-nav > li > a {
  display: block;
  font-weight: 500;
  padding: 0 26px 21px;
  padding-top: 0px;
  padding-right: 26px;
  padding-bottom: 21px;
  padding-left: 26px;
  position: relative; }

.hamburger {
  display: none !important; }

.lang {
  float: right;
  margin: -1px -2px 0 9px;
  position: relative; }
  .lang .dropdown-menu {
    left: auto;
    right: 0;
    border-radius: 0;
    padding: 0; }
    .lang .dropdown-menu a {
      font-size: 18px;
      line-height: 19px;
      padding: 10px 15px;
      font-weight: 500; }

#main-nav {
  margin: 30px 0 0;
  padding: 0 0 0 40px;
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center; }
  #main-nav > li:hover > a:before {
    visibility: visible;
    left: 0;
    right: 0; }
  #main-nav > li.active > a:before {
    visibility: visible;
    left: 0;
    right: 0; }

.btn {
  padding: 10px 20px;
  font-size: 18px;
  line-height: 28px;
  border-radius: 0px;
  vertical-align: top;
  outline: 0 !important;
  font-weight: 500;
  min-width: 184px; }

.btn-lg, .btn-group-lg > .btn {
  font-weight: normal;
  font-size: 20px;
  line-height: 30px; }

.btn-group-lg > .btn {
  font-weight: normal;
  font-size: 20px;
  line-height: 30px; }

.btn-md {
  padding: 15px 20px;
  font-size: 14px;
  line-height: 20px;
  border-radius: 0px; }

.open > .btn-default.dropdown-toggle {
  color: #4b4b4b;
  background-color: transparent;
  /*		border-color: $border_color_3; */
  background-image: none;
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff; }
  .open > .btn-default.dropdown-toggle:hover {
    color: #4b4b4b;
    background-color: transparent;
    border-color: #7b7979;
    background-color: #4b4b4b;
    border-color: #4b4b4b;
    color: #fff; }
  .open > .btn-default.dropdown-toggle:focus {
    color: #4b4b4b;
    background-color: transparent;
    border-color: #7b7979;
    background-color: #4b4b4b;
    border-color: #4b4b4b;
    color: #fff; }

.open > .btn-default.dropdown-toggle.focus {
  color: #4b4b4b;
  background-color: transparent;
  border-color: #7b7979;
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff; }

.open > .btn-select.dropdown-toggle:after {
  border-top-color: #fff; }

.open > .btn-select.dropdown-toggle:hover:after {
  border-top-color: #fff; }

.open > .btn-select.dropdown-toggle:focus:after {
  border-top-color: #fff; }

.open > .btn-select.dropdown-toggle.focus:after {
  border-top-color: #fff; }

.btn-default.active.focus {
  color: #4b4b4b;
  background-color: transparent;
  border-color: #7b7979;
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff; }

.btn-default.disabled:hover {
  background-color: transparent;
  border-color: #bab9b9; }

.btn-default.disabled:focus {
  background-color: transparent;
  border-color: #bab9b9; }

.btn-default.disabled.focus {
  background-color: transparent;
  border-color: #bab9b9; }

.btn-default[disabled]:hover {
  background-color: transparent;
  border-color: #bab9b9; }

.btn-default[disabled]:focus {
  background-color: transparent;
  border-color: #bab9b9; }

.btn-default[disabled].focus {
  background-color: transparent;
  border-color: #bab9b9; }

fieldset[disabled] .btn-default:hover {
  background-color: transparent;
  border-color: #bab9b9; }

fieldset[disabled] .btn-default:focus {
  background-color: transparent;
  border-color: #bab9b9; }

fieldset[disabled] .btn-default.focus {
  background-color: transparent;
  border-color: #bab9b9; }

.btn-default.focus {
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff; }
  .btn-default.focus:active {
    background-color: #4b4b4b;
    border-color: #4b4b4b;
    color: #fff; }

.btn-select {
  line-height: 19px;
  min-width: 130px;
  position: relative;
  text-align: left;
  padding-left: 11px;
  padding-right: 50px;
  border-color: lightgray; }
  .btn-select:before {
    position: absolute;
    content: '';
    right: 43px;
    top: 4px;
    bottom: 4px;
    width: 1px;
    background: lightgray; }
  .btn-select:after {
    position: absolute;
    content: '';
    top: 17px;
    right: 16px;
    display: block;
    height: 0;
    width: 0;
    border-top: 8px solid #4b4b4b;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s; }
  .btn-select:active:after {
    border-top-color: #fff; }
  .btn-select:active:hover:after {
    border-top-color: #fff; }
  .btn-select:active:focus:after {
    border-top-color: #fff; }
  .btn-select:focus:after {
    border-top-color: #fff; }
  .btn-select:hover:after {
    border-top-color: #fff; }

.btn-select.active:after {
  border-top-color: #fff; }

.btn-select.active:hover:after {
  border-top-color: #fff; }

.btn-select.active:focus:after {
  border-top-color: #fff; }

.btn-select.focus:after {
  border-top-color: #fff; }

.btn-select.focus:active:after {
  border-top-color: #fff; }

.btn-select.active.focus:after {
  border-top-color: #fff; }

.btn-menu {
  width: 28px;
  height: 18px;
  cursor: pointer;
  text-indent: -9999px;
  z-index: 160;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  position: relative;
  float: right;
  margin: 15px 0 0; }
  .btn-menu span:before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    right: 0;
    height: 2px;
    background: #4b4b4b;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
    top: 16px; }
  .btn-menu:before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    right: 0;
    height: 2px;
    background: #4b4b4b;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
    top: 8px; }
  .btn-menu:after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    right: 0;
    height: 2px;
    background: #4b4b4b;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s; }

@media (max-width: 767px) {
  #header {
    padding: 20px 0; }
    #header .logo {
      margin: 0; }
      #header .logo .type2 {
        font-size: 30px;
        line-height: 35px; }
        #header .logo .type2 .nav-bar {
          position: fixed;
          left: 0;
          border: 0;
          top: 89px;
          right: 0;
          bottom: 0;
          background: #fff;
          overflow-x: hidden;
          overflow-y: auto;
          -webkit-transition: all ease 0.3s;
          -o-transition: all ease 0.3s;
          transition: all ease 0.3s;
          opacity: 0;
          -webkit-transform: scale(0);
          -ms-transform: scale(0);
          -o-transform: scale(0);
          transform: scale(0);
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -webkit-flex-direction: column;
          -moz-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column; }
          #header .logo .type2 .nav-bar .tools {
            margin: auto -1px 0;
            padding: 0;
            list-style: none; }
            #header .logo .type2 .nav-bar .tools .lang {
              margin: 0;
              display: block;
              float: none; }
              #header .logo .type2 .nav-bar .tools .lang .btn-select {
                display: block; }
                #header .logo .type2 .nav-bar .tools .lang .btn-select:after {
                  -webkit-transform: rotate(180deg);
                  -ms-transform: rotate(180deg);
                  -o-transform: rotate(180deg);
                  transform: rotate(180deg);
                  top: 16px; }
              #header .logo .type2 .nav-bar .tools .lang .dropdown-menu {
                top: auto;
                bottom: 100%;
                margin: 0;
                width: 100%; }
          #header .logo .type2 .nav-bar .search-form {
            float: none;
            max-width: none; }
            #header .logo .type2 .nav-bar .search-form .btn-search {
              min-width: 44px; }
    #header .hamburger {
      flex: 4%;
      max-width: 4%;
      display: inline !important; }
  #main-nav {
    display: block;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1; }
    #main-nav li {
      border-bottom: 1px solid #e4e4e4; }
      #main-nav li > li > a {
        padding: 10px 20px;
        font-size: 16px;
        line-height: 24px; }
        #main-nav li > li > a:before {
          left: 0;
          top: 50%;
          bottom: 50%;
          height: auto;
          width: 4px;
          right: auto; }
      #main-nav li > li:hover > a:before {
        right: auto;
        top: -1px;
        bottom: -1px; }
      #main-nav li > li.active > a:before {
        right: auto;
        top: -1px;
        bottom: -1px; }
  a {
    display: block;
    font-weight: 500;
    padding: 0 26px 21px;
    position: relative; }
    a:before {
      position: absolute;
      content: '';
      bottom: -1px;
      left: 50%;
      right: 50%;
      height: 4px;
      background: #c2002d;
      visibility: hidden;
      -webkit-transition: all ease 0.3s;
      -o-transition: all ease 0.3s;
      transition: all ease 0.3s; }
  .push {
    overflow: hidden;
    height: 100%; }
    .push body {
      overflow: hidden;
      height: 100%; }
    .push .btn-menu:before {
      opacity: 0; }
    .push .btn-menu:after {
      top: 8px;
      -webkit-animation: anim-btn-menu1 0.3s 0.3s ease forwards;
      -o-animation: anim-btn-menu1 0.3s 0.3s ease forwards;
      animation: anim-btn-menu1 0.3s 0.3s ease forwards; }
    .push .btn-menu span:before {
      top: 8px;
      -webkit-animation: anim-btn-menu2 0.3s 0.3s ease forwards;
      -o-animation: anim-btn-menu2 0.3s 0.3s ease forwards;
      animation: anim-btn-menu2 0.3s 0.3s ease forwards; }
    .push #header .nav-bar {
      opacity: 1;
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      -o-transform: scale(1);
      transform: scale(1); }
    .push #header .hamburger {
      flex: 4%;
      max-width: 4%;
      display: inline !important; } }

@media (max-width: 767px) and (max-width: 991px) {
  #main-nav {
    padding-left: 0; }
    #main-nav > li > a {
      padding-left: 15px;
      padding-right: 15px;
      font-size: 14px; } }

@media (max-width: 767px) and (max-width: 767px) {
  #header .nav-bar {
    position: fixed;
    left: 0;
    border: 0;
    top: 89px;
    right: 0;
    bottom: 0;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; } }

@media (max-width: 767px) {
  #header .nav-bar .tools {
    margin: auto -1px 0;
    padding: 0;
    list-style: none; }
    #header .nav-bar .tools .lang {
      margin: 0;
      display: block;
      float: none; }
      #header .nav-bar .tools .lang .btn-select {
        display: block; }
        #header .nav-bar .tools .lang .btn-select:after {
          -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
          -o-transform: rotate(180deg);
          transform: rotate(180deg);
          top: 16px; }
      #header .nav-bar .tools .lang .dropdown-menu {
        top: auto;
        bottom: 100%;
        margin: 0;
        width: 100%; }
    #header .nav-bar .tools .search-form {
      float: none;
      max-width: none; }
      #header .nav-bar .tools .search-form .btn-search {
        min-width: 44px; }
  #main-nav {
    margin: 0;
    padding: 0 0 0 40px;
    list-style: none;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; } }

@media (max-width: 767px) and (max-width: 991px) {
  #main-nav {
    padding-left: 0; } }

@media (max-width: 767px) and (max-width: 767px) {
  #main-nav {
    display: block;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1; } }

@media (max-width: 767px) and (max-width: 767px) {
  #main-nav > li {
    border-bottom: 1px solid #e4e4e4; } }

@media (max-width: 767px) {
  #main-nav > li > a {
    display: block;
    font-weight: 500;
    padding: 0 26px 21px;
    position: relative; }
  #main-nav > li > a:before {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 50%;
    right: 50%;
    height: 4px;
    background: #c2002d;
    visibility: hidden;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s; } }

@media (max-width: 767px) and (max-width: 991px) {
  #main-nav > li > a {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 14px; } }

@media (max-width: 767px) and (max-width: 767px) {
  #main-nav > li > a {
    padding: 10px 20px;
    font-size: 16px;
    line-height: 24px; }
  #main-nav > li > a:before {
    left: 0;
    top: 50%;
    bottom: 50%;
    height: auto;
    width: 4px;
    right: auto; } }

@media (max-width: 767px) {
  #main-nav > li:hover > a:before, #main-nav > li.active > a:before {
    visibility: visible;
    left: 0;
    right: 0; } }

@media (max-width: 767px) and (max-width: 767px) {
  #main-nav > li:hover > a:before, #main-nav > li.active > a:before {
    right: auto;
    top: -1px;
    bottom: -1px; } }

@media (max-width: 767px) and (max-width: 767px) {
  .push {
    overflow: hidden;
    height: 100%; }
  .push body {
    overflow: hidden;
    height: 100%; }
  .push .btn-menu:before {
    opacity: 0; }
  .push .btn-menu:after {
    top: 8px;
    -webkit-animation: anim-btn-menu1 0.3s 0.3s ease forwards;
    -o-animation: anim-btn-menu1 0.3s 0.3s ease forwards;
    animation: anim-btn-menu1 0.3s 0.3s ease forwards; }
  .push .btn-menu span:before {
    top: 8px;
    -webkit-animation: anim-btn-menu2 0.3s 0.3s ease forwards;
    -o-animation: anim-btn-menu2 0.3s 0.3s ease forwards;
    animation: anim-btn-menu2 0.3s 0.3s ease forwards; }
  .push #header .nav-bar {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@media (max-width: 767px) {
  .btn-menu {
    width: 28px;
    height: 18px;
    cursor: pointer;
    text-indent: -9999px;
    z-index: 160;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
    position: relative;
    float: right;
    margin: 0; }
  .btn-menu span:before, .btn-menu:before, .btn-menu:after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    right: 0;
    height: 2px;
    background: #4b4b4b;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s; }
  .btn-menu:before {
    top: 8px; }
  .btn-menu span:before {
    top: 16px; }
  @-webkit-keyframes anim-btn-menu1 {
    100% {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg); } }
  @-moz-keyframes anim-btn-menu1 {
    100% {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg); } }
  @-ms-keyframes anim-btn-menu1 {
    100% {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg); } }
  @keyframes anim-btn-menu1 {
    100% {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg); } }
  @-webkit-keyframes anim-btn-menu2 {
    100% {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg); } }
  @-moz-keyframes anim-btn-menu2 {
    100% {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg); } }
  @-ms-keyframes anim-btn-menu2 {
    100% {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg); } }
  @keyframes anim-btn-menu2 {
    100% {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg); } } }

3 个答案:

答案 0 :(得分:0)

重组HTML代码。 <nav>应该是菜单项的直接父项,即#main-nav

因此,只需将该列即col-lg-4移动到上一列即col-lg-8的旁边即可。

    <div class="row">
      <div class="col-lg-8 col-md-8">
        <strong class="logo"><a href="#"></a></strong>
      </div>
      <div class="col-lg-4 col-md-4">
        <div class="tools">
          <div class="lang">
            <a href="#" data-toggle="dropdown" class="btn btn-default btn-select">English</a>
            <ul class="dropdown-menu ">
              <li class="dropdown-item"><a href="#">English</a>
              </li>
              <li class="dropdown-item"><a href="#">spanish</a>
              </li>
            </ul>
          </div>
          <!-- lang -->
        </div>
        <!-- tools -->
      </div>
      <nav class="nav-bar navbar-expand-md">
        <ul id="main-nav" class="collapse navbar-collapse" id="navDrop">
          <li><a href="#">Home</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
        </ul>
      </nav>

      <!-- nav-bar --><span class=" hamburger ml-auto mr-3 btn-menu d-block collapse navbar-collapse" data-target="#navDrop"><span>menu</span></span>
    </div>

答案 1 :(得分:0)

如果将<div class="col-lg-8 col-md-8">移动到行中,将具有所需的布局。另外,如果您将d-flex align-items-center类添加到row中,则可以得到一个很好的居中布局。

可能希望在大屏幕上查看navbar-toggler中的汉堡包菜单

汉堡菜单的样式通常如下:

<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
</button>

https://getbootstrap.com/docs/4.3/components/navbar/

$('.btn-menu').on('click', function(e) {
  if (!$('html').hasClass('push')) {
    $('html').addClass('push');

  } else {
    $('html').removeClass('push');

  };

  e.preventDefault();
});
/*navbar*/

.btn.btn-custom {
  padding-top: 0px;
  padding-bottom: 0px;
  margin-top: 6px;
}

.btn.btn-custom img {
  margin-right: 6px;
}

.btn.btn-custom:active {
  background-image: #fff;
}


/*$background_color_2: rgba(0, 0, 0, 0);*/


/*$border_color_3: #9c9a9a;*/

#header {
  border-bottom: 1px solid #e4e4e4;
  position: relative;
  z-index: 140;
}

#header .logo {
  float: left;
  text-align: left;
  text-indent: -9999px;
  overflow: hidden;
  width: 100%;
  height: 100px;
  background: url("https://images.unsplash.com/photo-1522139137660-4248e04955b8?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1355&q=80") no-repeat;
  margin: 36px 0 0;
}

#header .logo a {
  display: block;
  height: 100%;
}

#header .type2 {
  text-indent: 0;
  font-size: 35px;
  line-height: 40px;
  font-weight: 500;
  padding: 6px 0 0 35px;
  position: relative;
}

#header .type2:before {
  position: absolute;
  content: '';
  background: #fff;
  left: 30px;
  top: 0;
  right: 0;
  bottom: 0;
}

#header .type2 a {
  position: relative;
  z-index: 3;
}

#header .tools {
  padding: 0 0 23px;
}

#header .tools:before,
#header .tools:after {
  content: " ";
  display: table;
}

#header .search-form {
  float: right;
  margin-top: -1px;
}

#main-nav>li>a {
  display: block;
  font-weight: 500;
  padding: 0 26px 21px;
  padding-top: 0px;
  padding-right: 26px;
  padding-bottom: 21px;
  padding-left: 26px;
  position: relative;
}

.hamburger {
  display: none !important;
}

.lang {
  float: right;
  margin: -1px -2px 0 9px;
  position: relative;
}

.lang .dropdown-menu {
  left: auto;
  right: 0;
  border-radius: 0;
  padding: 0;
}

.lang .dropdown-menu a {
  font-size: 18px;
  line-height: 19px;
  padding: 10px 15px;
  font-weight: 500;
}

#main-nav {
  margin: 30px 0 0;
  padding: 0 0 0 40px;
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}

#main-nav>li:hover>a:before {
  visibility: visible;
  left: 0;
  right: 0;
}

#main-nav>li.active>a:before {
  visibility: visible;
  left: 0;
  right: 0;
}

.btn {
  padding: 10px 20px;
  font-size: 18px;
  line-height: 28px;
  border-radius: 0px;
  vertical-align: top;
  outline: 0 !important;
  font-weight: 500;
  min-width: 184px;
}

.btn-lg,
.btn-group-lg>.btn {
  font-weight: normal;
  font-size: 20px;
  line-height: 30px;
}

.btn-group-lg>.btn {
  font-weight: normal;
  font-size: 20px;
  line-height: 30px;
}

.btn-md {
  padding: 15px 20px;
  font-size: 14px;
  line-height: 20px;
  border-radius: 0px;
}

.open>.btn-default.dropdown-toggle {
  color: #4b4b4b;
  background-color: transparent;
  /*		border-color: $border_color_3; */
  background-image: none;
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff;
}

.open>.btn-default.dropdown-toggle:hover {
  color: #4b4b4b;
  background-color: transparent;
  border-color: #7b7979;
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff;
}

.open>.btn-default.dropdown-toggle:focus {
  color: #4b4b4b;
  background-color: transparent;
  border-color: #7b7979;
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff;
}

.open>.btn-default.dropdown-toggle.focus {
  color: #4b4b4b;
  background-color: transparent;
  border-color: #7b7979;
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff;
}

.open>.btn-select.dropdown-toggle:after {
  border-top-color: #fff;
}

.open>.btn-select.dropdown-toggle:hover:after {
  border-top-color: #fff;
}

.open>.btn-select.dropdown-toggle:focus:after {
  border-top-color: #fff;
}

.open>.btn-select.dropdown-toggle.focus:after {
  border-top-color: #fff;
}

.btn-default.active.focus {
  color: #4b4b4b;
  background-color: transparent;
  border-color: #7b7979;
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff;
}

.btn-default.disabled:hover {
  background-color: transparent;
  border-color: #bab9b9;
}

.btn-default.disabled:focus {
  background-color: transparent;
  border-color: #bab9b9;
}

.btn-default.disabled.focus {
  background-color: transparent;
  border-color: #bab9b9;
}

.btn-default[disabled]:hover {
  background-color: transparent;
  border-color: #bab9b9;
}

.btn-default[disabled]:focus {
  background-color: transparent;
  border-color: #bab9b9;
}

.btn-default[disabled].focus {
  background-color: transparent;
  border-color: #bab9b9;
}

fieldset[disabled] .btn-default:hover {
  background-color: transparent;
  border-color: #bab9b9;
}

fieldset[disabled] .btn-default:focus {
  background-color: transparent;
  border-color: #bab9b9;
}

fieldset[disabled] .btn-default.focus {
  background-color: transparent;
  border-color: #bab9b9;
}

.btn-default.focus {
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff;
}

.btn-default.focus:active {
  background-color: #4b4b4b;
  border-color: #4b4b4b;
  color: #fff;
}

.btn-select {
  line-height: 19px;
  min-width: 130px;
  position: relative;
  text-align: left;
  padding-left: 11px;
  padding-right: 50px;
  border-color: lightgray;
}

.btn-select:before {
  position: absolute;
  content: '';
  right: 43px;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: lightgray;
}

.btn-select:after {
  position: absolute;
  content: '';
  top: 17px;
  right: 16px;
  display: block;
  height: 0;
  width: 0;
  border-top: 8px solid #4b4b4b;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
}

.btn-select:active:after {
  border-top-color: #fff;
}

.btn-select:active:hover:after {
  border-top-color: #fff;
}

.btn-select:active:focus:after {
  border-top-color: #fff;
}

.btn-select:focus:after {
  border-top-color: #fff;
}

.btn-select:hover:after {
  border-top-color: #fff;
}

.btn-select.active:after {
  border-top-color: #fff;
}

.btn-select.active:hover:after {
  border-top-color: #fff;
}

.btn-select.active:focus:after {
  border-top-color: #fff;
}

.btn-select.focus:after {
  border-top-color: #fff;
}

.btn-select.focus:active:after {
  border-top-color: #fff;
}

.btn-select.active.focus:after {
  border-top-color: #fff;
}

.btn-menu {
  width: 28px;
  height: 18px;
  cursor: pointer;
  text-indent: -9999px;
  z-index: 160;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  position: relative;
  float: right;
  margin: 15px 0 0;
}

.btn-menu span:before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  right: 0;
  height: 2px;
  background: #4b4b4b;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  top: 16px;
}

.btn-menu:before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  right: 0;
  height: 2px;
  background: #4b4b4b;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
  top: 8px;
}

.btn-menu:after {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  right: 0;
  height: 2px;
  background: #4b4b4b;
  -webkit-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
}

@media (max-width: 767px) {
  #header {
    padding: 20px 0;
  }
  #header .logo {
    margin: 0;
  }
  #header .logo .type2 {
    font-size: 30px;
    line-height: 35px;
  }
  #header .logo .type2 .nav-bar {
    position: fixed;
    left: 0;
    border: 0;
    top: 89px;
    right: 0;
    bottom: 0;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #header .logo .type2 .nav-bar .tools {
    margin: auto -1px 0;
    padding: 0;
    list-style: none;
  }
  #header .logo .type2 .nav-bar .tools .lang {
    margin: 0;
    display: block;
    float: none;
  }
  #header .logo .type2 .nav-bar .tools .lang .btn-select {
    display: block;
  }
  #header .logo .type2 .nav-bar .tools .lang .btn-select:after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    top: 16px;
  }
  #header .logo .type2 .nav-bar .tools .lang .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin: 0;
    width: 100%;
  }
  #header .logo .type2 .nav-bar .search-form {
    float: none;
    max-width: none;
  }
  #header .logo .type2 .nav-bar .search-form .btn-search {
    min-width: 44px;
  }
  #header .hamburger {
    flex: 4%;
    max-width: 4%;
    display: inline !important;
  }
  #main-nav {
    display: block;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
  }
  #main-nav li {
    border-bottom: 1px solid #e4e4e4;
  }
  #main-nav li>li>a {
    padding: 10px 20px;
    font-size: 16px;
    line-height: 24px;
  }
  #main-nav li>li>a:before {
    left: 0;
    top: 50%;
    bottom: 50%;
    height: auto;
    width: 4px;
    right: auto;
  }
  #main-nav li>li:hover>a:before {
    right: auto;
    top: -1px;
    bottom: -1px;
  }
  #main-nav li>li.active>a:before {
    right: auto;
    top: -1px;
    bottom: -1px;
  }
  a {
    display: block;
    font-weight: 500;
    padding: 0 26px 21px;
    position: relative;
  }
  a:before {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 50%;
    right: 50%;
    height: 4px;
    background: #c2002d;
    visibility: hidden;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
  }
  .push {
    overflow: hidden;
    height: 100%;
  }
  .push body {
    overflow: hidden;
    height: 100%;
  }
  .push .btn-menu:before {
    opacity: 0;
  }
  .push .btn-menu:after {
    top: 8px;
    -webkit-animation: anim-btn-menu1 0.3s 0.3s ease forwards;
    -o-animation: anim-btn-menu1 0.3s 0.3s ease forwards;
    animation: anim-btn-menu1 0.3s 0.3s ease forwards;
  }
  .push .btn-menu span:before {
    top: 8px;
    -webkit-animation: anim-btn-menu2 0.3s 0.3s ease forwards;
    -o-animation: anim-btn-menu2 0.3s 0.3s ease forwards;
    animation: anim-btn-menu2 0.3s 0.3s ease forwards;
  }
  .push #header .nav-bar {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  .push #header .hamburger {
    flex: 4%;
    max-width: 4%;
    display: inline !important;
  }
}

@media (max-width: 767px) and (max-width: 991px) {
  #main-nav {
    padding-left: 0;
  }
  #main-nav>li>a {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 14px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  #header .nav-bar {
    position: fixed;
    left: 0;
    border: 0;
    top: 89px;
    right: 0;
    bottom: 0;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  #header .nav-bar .tools {
    margin: auto -1px 0;
    padding: 0;
    list-style: none;
  }
  #header .nav-bar .tools .lang {
    margin: 0;
    display: block;
    float: none;
  }
  #header .nav-bar .tools .lang .btn-select {
    display: block;
  }
  #header .nav-bar .tools .lang .btn-select:after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    top: 16px;
  }
  #header .nav-bar .tools .lang .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin: 0;
    width: 100%;
  }
  #header .nav-bar .tools .search-form {
    float: none;
    max-width: none;
  }
  #header .nav-bar .tools .search-form .btn-search {
    min-width: 44px;
  }
  #main-nav {
    margin: 0;
    padding: 0 0 0 40px;
    list-style: none;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
  }
}

@media (max-width: 767px) and (max-width: 991px) {
  #main-nav {
    padding-left: 0;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  #main-nav {
    display: block;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  #main-nav>li {
    border-bottom: 1px solid #e4e4e4;
  }
}

@media (max-width: 767px) {
  #main-nav>li>a {
    display: block;
    font-weight: 500;
    padding: 0 26px 21px;
    position: relative;
  }
  #main-nav>li>a:before {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 50%;
    right: 50%;
    height: 4px;
    background: #c2002d;
    visibility: hidden;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
  }
}

@media (max-width: 767px) and (max-width: 991px) {
  #main-nav>li>a {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 14px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  #main-nav>li>a {
    padding: 10px 20px;
    font-size: 16px;
    line-height: 24px;
  }
  #main-nav>li>a:before {
    left: 0;
    top: 50%;
    bottom: 50%;
    height: auto;
    width: 4px;
    right: auto;
  }
}

@media (max-width: 767px) {
  #main-nav>li:hover>a:before,
  #main-nav>li.active>a:before {
    visibility: visible;
    left: 0;
    right: 0;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  #main-nav>li:hover>a:before,
  #main-nav>li.active>a:before {
    right: auto;
    top: -1px;
    bottom: -1px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .push {
    overflow: hidden;
    height: 100%;
  }
  .push body {
    overflow: hidden;
    height: 100%;
  }
  .push .btn-menu:before {
    opacity: 0;
  }
  .push .btn-menu:after {
    top: 8px;
    -webkit-animation: anim-btn-menu1 0.3s 0.3s ease forwards;
    -o-animation: anim-btn-menu1 0.3s 0.3s ease forwards;
    animation: anim-btn-menu1 0.3s 0.3s ease forwards;
  }
  .push .btn-menu span:before {
    top: 8px;
    -webkit-animation: anim-btn-menu2 0.3s 0.3s ease forwards;
    -o-animation: anim-btn-menu2 0.3s 0.3s ease forwards;
    animation: anim-btn-menu2 0.3s 0.3s ease forwards;
  }
  .push #header .nav-bar {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}

@media (max-width: 767px) {
  .btn-menu {
    width: 28px;
    height: 18px;
    cursor: pointer;
    text-indent: -9999px;
    z-index: 160;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
    position: relative;
    float: right;
    margin: 0;
  }
  .btn-menu span:before,
  .btn-menu:before,
  .btn-menu:after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    right: 0;
    height: 2px;
    background: #4b4b4b;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    transition: all ease 0.3s;
  }
  .btn-menu:before {
    top: 8px;
  }
  .btn-menu span:before {
    top: 16px;
  }
  @-webkit-keyframes anim-btn-menu1 {
    100% {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg);
    }
  }
  @-moz-keyframes anim-btn-menu1 {
    100% {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg);
    }
  }
  @-ms-keyframes anim-btn-menu1 {
    100% {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg);
    }
  }
  @keyframes anim-btn-menu1 {
    100% {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg);
    }
  }
  @-webkit-keyframes anim-btn-menu2 {
    100% {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg);
    }
  }
  @-moz-keyframes anim-btn-menu2 {
    100% {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg);
    }
  }
  @-ms-keyframes anim-btn-menu2 {
    100% {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg);
    }
  }
  @keyframes anim-btn-menu2 {
    100% {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg);
    }
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" />

<div id="header">
  <div class="container">

    <nav class="nav-bar navbar-expand-md">
      <div class="row d-flex align-items-center">
        <div class="col-lg-8 col-md-8">
          <strong class="logo"><a href="#"></a></strong>
        </div>
        <div class="col-lg-4 col-md-4">
          <div class="tools">
            <div class="lang">
              <a href="#" data-toggle="dropdown" class="btn btn-default btn-select">English</a>
              <ul class="dropdown-menu ">
                <li class="dropdown-item"><a href="#">English</a>
                </li>
                <li class="dropdown-item"><a href="#">spanish</a>
                </li>
              </ul>
            </div>
            <!-- lang -->
          </div>
          <!-- tools -->
        </div>

        <ul id="main-nav" class="collapse navbar-collapse" id="navDrop">
          <li><a href="#">Home</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
          <li><a href="#">Page</a>
          </li>
        </ul>
    </nav>

    <!-- nav-bar --><span class=" hamburger ml-auto mr-3 btn-menu d-block collapse navbar-collapse navbar-toggle" data-target="#navDrop"><span>menu</span></span>
    </div>
  </div>
</div>

答案 2 :(得分:0)

我更新了您的jsFiddle

及其作品here

我只是添加一个CSS属性:

<div class="row" style="margin: 36px 0 0;position: relative;">

<div class="col-lg-12 col-md-12" style="position: absolute;
    top: 0;">