twitter-bootstrap - 带有自定义边框的 Bootstrap 选项卡

标签 twitter-bootstrap css bootstrap-4

我正在开发向导,其中标题如下图所示。我在 li 元素上使用 Bootstrap-4 选项卡组件和 :after 伪元素方法,但我不知道如何获取两种颜色的背景。

期望的结果

enter image description here

HTML 片段

<ul class="nav classic-tabs nav-justified white" role="tablist">
    <li class="nav-item">
        <a class="nav-link waves-light active" data-toggle="tab" href="#panel61" role="tab"> Frete</a>
    </li>
    <li class="nav-item">
        <a class="nav-link waves-light" data-toggle="tab" href="#panel62" role="tab"> Pagamento</a>
    </li>
    <li class="nav-item">
        <a class="nav-link waves-light" data-toggle="tab" href="#panel63" role="tab"> Revise e Confirme</a>
    </li>
</ul>

CSS 片段

&:after {
    content: '';
    border-right: 1px solid #666666;
    display: block;
    height: 100%;
    top: 0;
    position: absolute;
    transform: skewX(-45deg);
}

实际结果

enter image description here

最佳答案

我可能会设置实际选项卡的样式。设置伪元素的样式会带来一定程度的复杂性,您不想处理这种情况。

在这里,我将选项卡向右倾斜,然后添加一个内部跨度元素将文本倾斜回垂直方向。

我使用pseudo:before 创建第一个选项卡的 90 度左侧。您可以对最后一个选项卡执行相同的操作。解决阴影和边框可能很棘手,但我认为这是可行的。

.nav-tabs .nav-item {
  transform: skew(-22.5deg);
  box-shadow: 5px 5px 15px rgba(0, 0, 0, .2);
}

li.nav-item:first-child::before {
  content: '';
  height: 40px;
  background: #fff;
  width: 20px;
  position: absolute;
  transform: skew(22.5deg);
  top: 1px;
  left: -8px;
}

.nav-tabs .nav-item a span {
  transform: skew(22.5deg);
  display: inline-block;
}

<li class="nav-item">
    <a class="nav-link active" data-toggle="tab" href="#home" role="tab"><span>Home</span></a>
</li>

<强> Fiddle demo

关于twitter-bootstrap - 带有自定义边框的 Bootstrap 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48508816/

相关文章:

php - Bootstrap 3 模态与图像和滚动条

javascript - AngularJS-Bootstrap TypeAhead : TypeError: Cannot read property 'length' of undefined 错误

javascript - JQuery 在 Firefox 和 Chrome 中无法正常工作

CSS3旋转动画导致文字模糊

html - 如何将渐变应用于在 IE9 中正确显示的元素?

layout - Bootstrap 4.0 网格系统布局不起作用

c# - 修复 Angular 6 项目中的显示表

javascript - Bootstrap jquery sortable 只对行进行排序?

html - 开发时如何在我的页面上查看 Bootstrap 网格大小?

css - 输入组边界在中间加倍