Is there a way to create a chrome-like tab using CSS?

后端 未结 8 652
北海茫月
北海茫月 2020-12-05 14:59

I have been looking for a Google Chrome-like tab written using CSS but cannot find one.

I am trying to replicate the look in order to use it in a web application or

相关标签:
8条回答
  • 2020-12-05 15:19

    I am just giving some css for getting chrome like tabs, rest its up to you to use as you want.

    <style type='text/css'>
      .chrome_tab {
        width: 150px;
        height: 0;
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
        border-bottom: 20px solid grey;
        border-radius: 80px 80px 2px 2px;
        color: white;
        text-align: center;
      }
    </style>
    
    
    <div class='chrome_tab'>
        muhammad(peace be upon him)
    </div>
    

    demo here http://jsfiddle.net/GH7d6/

    0 讨论(0)
  • 2020-12-05 15:22

    yeah its possible, with css3

    Ive posted a blog about how to its a lil depthy, and sadly enouth not going to work on ie unless you use images

    Edit:

    Removed old reference to redeyeoperations cause its a link farm now. This is a bit lighter version also it is up on a 3rd party site, so its less likely to be down.

    http://codepen.io/jacoblwe20/pen/DxAJF

    Here is the code

    HTML

    <div class=tab-container>
      <ul class="tabs clearfix" >
        <li>
          <a href=# >Users</a> 
        </li>
        <li class=active > 
          <a href=# >Pending Lots</a> 
        </li>
        <li> 
          <a href=# >Nearby Lots</a> 
        </li>
        <li>
          <a href=# >Recent Lots</a>
        </li>
      </ul>
    </div>
    <div class=outer-circle></div>
    

    CSS

    body{
      background : #efefef;
      font : .8em sans-serif;
      margin: 0;
    }
    
    .tab-container{
      background : #2BA6CB;
      margin: 0;
      padding: 0;
      max-height: 35px;
    }
    
    ul.tabs{
      margin: 0;
      list-style-type : none;
      line-height : 35px;
      max-height: 35px;
      overflow: hidden;
      display: inline-block;
      padding-right: 20px
    }
    
    ul.tabs > li.active{
      z-index: 2;
      background: #efefef;
    }
    
    ul.tabs > li.active:before{
      border-color : transparent #efefef transparent transparent;
    }
    
    
    ul.tabs > li.active:after{
      border-color : transparent transparent transparent #efefef;
    }
    
    ul.tabs > li{
      float : right;
      margin : 5px -10px 0;
      border-top-right-radius: 25px 170px;
      border-top-left-radius: 20px 90px;
      padding : 0 30px 0 25px;
      height: 170px;
      background: #ffffd;
      position : relative;
      box-shadow: 0 10px 20px rgba(0,0,0,.5);
      max-width : 200px;
    }
    
    ul.tabs > li > a{
      display: inline-block;
      max-width:100%;
      overflow: hidden;
      text-overflow: ellipsis;
      text-decoration: none;
      color: #222;
    }
    
    ul.tabs > li:before, ul.tabs > li:after{
      content : '';
      background : transparent;
      height: 20px;
      width: 20px;
      border-radius: 100%;
      border-width: 10px;
      top: 0px;
      border-style : solid;
      position : absolute;
    }
    
    ul.tabs > li:before{
      border-color : transparent #ffffd transparent transparent;
      -webkit-transform : rotate(48deg);
      -moz-transform : rotate(48deg);
      -ms-transform : rotate(48deg);
      -o-transform : rotate(48deg);
      transform : rotate(48deg);
      left: -23px;
    }
    
    ul.tabs > li:after{
      border-color : transparent transparent transparent #ffffd;
      -webkit-transform : rotate(-48deg);
      -moz-transform : rotate(-48deg);
      -ms-transform : rotate(-48deg);
      -o-transform : rotate(-48deg);
      transform : rotate(-48deg);
      right: -17px;
    }
    
    /* Clear Fix took for HTML 5 Boilerlate*/
    
    .clearfix:before, .clearfix:after { content: ""; display: table; }
    .clearfix:after { clear: both; }
    .clearfix { zoom: 1; }
    

    JS for tab switching ~ include jquery to get working or visit the codepen

    var tabs = $('.tabs > li');
    
    tabs.on("click", function(){
      tabs.removeClass('active');
      $(this).addClass('active');
    });
    
    0 讨论(0)
  • 2020-12-05 15:23

    I found this in CSS tricks, really deeply hidden:

    http://css-tricks.com/examples/MovingHighlight/

    0 讨论(0)
  • 2020-12-05 15:24

    If you need solution in Bootstrap and AngularJS I made one myself. They're styled with overriding the default Bootstrap styles.

    You can check the tutorial here: https://scotch.io/tutorials/build-chrome-like-tabs-with-bootstrap-and-angularjs

    And grab the code here: https://github.com/imjustd/chrome-tabs

    0 讨论(0)
  • 2020-12-05 15:26

    This github project seems to do it, but it doesn't look that good on my IE 11... :(

    0 讨论(0)
  • 2020-12-05 15:40

    Have you tried jQuery UI which can be found here:

    http://jqueryui.com

    0 讨论(0)
提交回复
热议问题