html - 外部容器上的 CSS 边框半径

标签 html css twitter-bootstrap-3 navbar

我对某些 css 边框半径有一点疑问。

我将 Bootstrap 3 与 .navbar-nav 等一起使用,我需要容器具有像导航按钮一样的边框半径,但我不知道从哪里开始。如果有人能指出我正确的方向,将不胜感激!提前致谢

enter image description here

如您所见,外部部分是方形的,但我需要它像导航按钮一样圆润。

我想要得到的:

enter image description here

代码如下:

 <div class="navbar navbar-default" role="navigation">
  <div class="container">
    <div class="row">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
      </div>
      <div class="collapse navbar-collapse">
        <ul class="nav navbar-nav">
          <li class="active"><a href="#">Home</a></li>
          <li><a href="#">Who we are</a></li>
          <li><a href="#">What we do</a></li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
            <ul class="dropdown-menu" role="menu">
              <li><a href="#">Design</a></li>
              <li><a href="#">Construction</a></li>
              <li><a href="#">Planned maintenance</a></li>
            </ul>
          </li>
          <li><a href="#">Projects</a></li>
          <li><a href="#">Our responsibilities</a></li>
          <li><a href="#">Contact us</a></li>
        </ul>
      </div><!--/.nav-collapse -->
    </div>
  </div>
</div>

和 CSS

.navbar-collapse {
  padding-right: 15px;
  padding-left: 15px;
}
.navbar-default {
  background-color: #ff6b00;
  border-color: transparent;
  border-radius: 0;
  margin-bottom:0;
  border:0;
}
.navbar-default .navbar-nav {
  background:#092c74;
}
.navbar-default .navbar-nav > li > a {
  color: #FFF;
  background:#ff6b00;
  padding-left:20.9px;
  padding-right:20.8px;
  margin:0 1.5px;
  text-transform: uppercase;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  transition: all .2s linear;
  -webkit-transition: all .1s linear;
  -moz-transition: all .1s linear;
  -o-transition: all .1s linear;
}
.navbar-default .navbar-nav > li:first-child a {
  margin-left:3px;
}
.navbar-default .navbar-nav > li:last-child a {
  margin-right:3px;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #FFF;
  background-color: #c85400;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #092c74;
  background-color: #FFF;
}

最佳答案

为我设法弄明白的帮助干杯。使用 :before :after

.navbar-default .navbar-nav:before {
  width:5px;
  height:5px;
  position:absolute;
  top:0;
  left:10px;
  background:#ff6b00;
  background-image:url('../images/top-right-radius.png');
  background-position: top right;
  background-repeat: no-repeat;
}
.navbar-default .navbar-nav:after {
  width:5px;
  height:5px;
  position:absolute;
  top:0;
  right:10px;
  background:#ff6b00;
  background-image:url('../images/top-left-radius.png');
  background-position: top right;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) { .navbar-default .navbar-nav:before { display:none; } .navbar-default .navbar-nav:after { display:none; } }

看起来很丑但仍然可以工作,很想听听是否有更好的方法来做到这一点。再次感谢大家的帮助,不胜感激!

关于html - 外部容器上的 CSS 边框半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26804486/

相关文章:

javascript - 使用淡入淡出效果更改背景图像的最佳方法是什么?

javascript - Bootstrap 轮播 - JavaScript 不适用(DNN)

javascript - 如何使用 bootstrap 和 fontawesome 将我的弹出窗口设置为单击而不是悬停?

javascript - 使用日期选择器向表添加行

带下标的 HTML 输入按钮

html - IE7 : an excessive margin in form for textarea

css - moz-placeholder 在 Firefox 中不起作用

html - Bootstrap Collapse 折叠时显示子元素

css - Bootstrap 重新排列移动 View 上的列

html - 如何获得 2d 转换 css 垂直方式