点击显示CSS工具提示

3

我是新手,正在学习CSS和HTML。我一直在尝试使用CSS和HTML创建工具提示,并且已经成功了。但现在想知道如何在单击时显示此工具提示,再次单击时隐藏它。

以下是我使用的HTML代码。如果有人能建议一些CSS来实现所需的结果,那就太好了。

HTML

class='tooltips' style='color:#585858; text-decoration:none;'> desktop NG information

提前感谢。


3
OP,请在您的问题中编辑完整代码。 - Adam Azad
那么你需要点击什么才能让它出现呢?如果提示框还没有出现,你就无法点击它。我认为你需要使用JavaScript来实现这个功能。 - Bluedayz
我想这个链接可能会对你有所帮助 http://jsfiddle.net/GQE4k/1/ - user1647667
.fadeToggle(); 会更加智能,因为你已经在使用 jQuery。 - Bluedayz
1
请阅读此文章:http://tympanus.net/codrops/2012/12/17/css-click-events/ - Adam Azad
根据@Rohit Batham的答案(由于我的声望太低,无法添加评论),如果您想在单击时将其作为持久工具提示使用,请改用“focus”选择器而不是“active”。 - akpersad
2个回答

6
要切换提示框,您可以使用复选框的:checked伪类。

.tooltip {
  position: relative;
  border-bottom: 1px dotted black;
}
.tooltip span {
  visibility: hidden;
  width: 10em;
  background-color: #000;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 9;
  top: -1em;
  left:  100%;
  margin-left:1em;
  opacity: 0;
  transition: opacity 1s;
}
.tooltip span::after {
  content: "";
  position: absolute;
  top: 1.5em;
  right: 100%;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent black transparent transparent;
}
.tooltip input {
  display:none;
}
.tooltip input:checked+span {
  visibility: visible;
  opacity: 1;
}
<p>Hello <label class="tooltip">world<input type="checkbox"><span>and this is the tooltip text displayed on click.</span></label>! I am greeting you.<p>


2

HTML代码

<a href="#" title="Sample tooltip" class="tooltip">Link</a>

CSS 代码

.tooltip{display:inline;position:relative}
.tooltip:hover{text-decoration:none}

.tooltip:hover:after{
   background:#111;
   background:rgba(0,0,0,.8);
   border-radius:5px;
   bottom:18px;
   color:#fff;
   content:attr(title);
   display:block;
   left:50%;
   padding:5px 15px;
   position:absolute;
   white-space:nowrap;
   z-index:98
  }
.tooltip:hover:before{
    border:solid;
    border-color:#111 transparent;
    border-width:6px 6px 0 6px;
    bottom:12px;
    content:"";
    display:block;
    left:75%;
    position:absolute;
    z-index:99
   }

尝试这样做,它可以正常工作,并且在CSS中不支持onlcik事件。

1
"onlcik事件不支持CSS。我想你忘记了:active伪类;)" - Adam Azad
如果你想使用active,请点击此链接:http://jsfiddle.net/Z7GM6/1/ 你需要按住鼠标按钮在该超链接上。 - Bluedayz
1
@Bluedayz,我尝试了你的fiddle,但是tooltip只有在你点击链接时才会出现,然后自动消失...怎么解决这个问题? - Patricio Carvajal H.
我通过jsfiddle.net/Z7GM6尝试了一下,但标题在一秒后也出现了。我将属性切换为“tip”,内容为“attr(tip)”,是否有更好的选择? - Scott Carlson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接