CSS 将箭头形状添加到活动选项卡

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14294476/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-29 21:17:55  来源:igfitidea点击:

Add arrow shaped to active tab

csstwitter-bootstraptabs

提问by Robert Chan

How to add arrow shaped under active tab?

如何在活动选项卡下添加箭头形状?

.nav-tabs2 .active { background-image:url(http://www.asiarooms.com/assets/themes/v1/images/areas/details/menu-arrow.png); background-repeat:no-repeat; background-position:bottom center; }

http://jsfiddle.net/DJHZb/13/

http://jsfiddle.net/DJHZb/13/

<div class="box-head tabs">
  <ul class="nav2 nav-tabs2">
   <li class="active">
    <a href="#0" data-toggle="tab" class="firstelement">Active Tab</a></li>
   <li><a href="#1" data-toggle="tab">Inactive Tab</a></li>
   <li><a href="#2" data-toggle="tab">Inactive Tab #2</a></li>
  </ul>
</div>

回答by Thanh Trung

Take a look at "css speech bubble" the idea is the same: http://nicolasgallagher.com/pure-css-speech-bubbles/demo

看看“css语音气泡”的想法是一样的:http: //nicolasgallagher.com/pure-css-speech-bubbles/demo

You have to mess with pseudo css ::after and ::before (which doesn't work in some IE), and borders to create a square or an triangle that overlapping each other.

您必须使用伪 css ::after 和 ::before(在某些 IE 中不起作用)和边框以创建相互重叠的正方形或三角形。

Example:

例子:

.active::after {
content: "";
position: absolute;
bottom: -15px;
left: 50px;
border-width: 15px 15px 0;
border-style: solid;
border-color: #F3961C transparent;
display: block;
width: 0;
}

Here is an explanation how to create triangle with a box and border: http://www.sitepoint.com/pure-css3-speech-bubbles/

以下是如何创建带有框和边框的三角形的说明:http: //www.sitepoint.com/pure-css3-speech-bubbles/

回答by Riyafa Abdul Hameed

For a code like this (which uses bootstrap):

对于这样的代码(使用引导程序):

<body>
  <div class="panel panel-primary">
    <div class="panel-heading" style="font-size:large">
       Klujo
    </div>

    <div class="panel-body">
        <div class="wizard">
            <a >
                Step 1<br>
        Authorize the app
            </a>
            <a class="active">
                Step 2<br>
        Post your jobs
            </a>

        </div>
   </div>

  </div>
</body>

you can use css like this:

你可以像这样使用css:

.wizard a {
    background: #efefef;
    display: inline-block;
    margin-right: 5px;
    min-width: 150px;
    outline: none;
    padding: 10px 40px 10px;
    position: relative;
    text-decoration: none;
}

.wizard .active {
    background: #007ACC;
    color: #fff;
}

.wizard a:before {
    width: 0;
    height: 0;
    border-top: 25px inset transparent;
    border-bottom: 35px inset transparent;
    border-left: 20px solid #fff;
    position: absolute;
    content: "";
    top: 0;
    left: 0;
}

.wizard a:after {
    width: 0;
    height: 0;
    border-top: 35px inset transparent;
    border-bottom: 25px inset transparent;
    border-left: 21px solid #efefef;
    position: absolute;
    content: "";
    top: 0;
    right: -20px;
    z-index: 2;
}

.wizard a:first-child:before,
.wizard a:last-child:after {
    border: none;
}

.wizard a.active:after {
    border-left: 21px solid #007ACC;
}

to get the desired result

得到想要的结果

回答by J.Mbai

  </body>   
  <style>   
    .tool {
     position: relative;
     display: inline-block;
     border-bottom: 1px dotted red;
     }

   .tool .text {
    visibility: hidden;
    width: 100%;
    background-color: blue;
    color: white;
    text-align: center;
    border-radius: 5px;
    padding: 5px 0;
    position: absolute;

    top: -1px;
     left: 110%;
     }

    .tool .text::after {
     content: "";
      position: absolute;
      top: 10%;
      right: 99%;
       margin-top: -2px;
      border-width: 5px;
      border-style: solid;
      border-color: transparent blue transparent transparent;
      }
     .tool:hover .text {
     visibility: visible;
       }
     </style>   

     <div class="tool">Mouse Hover
      <span class="text">I Can pop up on the right side of these   words</div>
      </body>