代码之家  ›  专栏  ›  技术社区  ›  UI_Dev

如何在默认情况下显示工具提示而不在纯css中悬停

  •  1
  • UI_Dev  · 技术社区  · 8 年前

    我有下面的工具提示,当我们悬停div元素时,它将起作用,

    刷新页面时,默认情况下我需要显示工具提示 .

    如何在纯css中实现它?我不需要任何JavaScript的东西。想不想让它只和css一起工作?

    我试着移除 display: block; 从 tooltip:before 但没有一个成功。

    .toolwrapper {
      color: #555;
      cursor: help;
      font-family: Arial;
      font-size: 12px;
      margin: 40px 64px 9px 4px;
      padding: 15px 20px;
      position: relative;
      text-align: center;
      width: 100%;
    
    }
    
    .toolwrapper .tooltip {
      background: #424242;
      bottom: 100%;
      color: #fff;
      display: block;
      left: 0;
      opacity: 0;
      padding: 10px;
      pointer-events: none;
      position: absolute;
      width: 100%;
      -webkit-transform: translateY(10px);
         -moz-transform: translateY(10px);
          -ms-transform: translateY(10px);
           -o-transform: translateY(10px);
              transform: translateY(10px);
      -webkit-transition: all .25s ease-out;
         -moz-transition: all .25s ease-out;
          -ms-transition: all .25s ease-out;
           -o-transition: all .25s ease-out;
              transition: all .25s ease-out;
      -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
         -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
          -ms-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
           -o-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
              box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
    }
    
    /* This bridges the gap so you can mouse into the tooltip without it disappearing */
    .toolwrapper .tooltip:before {
      bottom: -20px;
      content: " ";
      display: block;
      height: 20px;
      left: 0;
      position: absolute;
      width: 100%;
    }  
    
    
    .toolwrapper .tooltip:after {
      border-left: solid transparent 10px;
      border-right: solid transparent 10px;
      border-top: solid #424242 10px;
      bottom: -10px;
      content: " ";
      height: 0;
      left: 80%;
      margin-left: -13px;
      position: absolute;
      width: 0;
    }
      
    .toolwrapper:hover .tooltip {
      opacity: 1;
      pointer-events: auto;
      -webkit-transform: translateY(0px);
         -moz-transform: translateY(0px);
          -ms-transform: translateY(0px);
           -o-transform: translateY(0px);
              transform: translateY(0px);
    }
    <div class="toolwrapper">
                   Hover me to show tooltip
                  <div class="tooltip">Hi I'm tooltip</div>
                </div> 
    2 回复  |  直到 8 年前
        1
  •  2
  •   לבני מלכה    8 年前

    你只需要改变你的 opacity 从 0 到 1 在工具提示类本身中,将其设置为0是什么使它不可见。

    .toolwrapper .tooltip {
        opacity: 1;
    }
    
        2
  •  1
  •   Manish Patel    8 年前

    添加 opacity: 1 在工具提示中

    .toolwrapper {
      color: #555;
      cursor: help;
      font-family: Arial;
      font-size: 12px;
      margin: 40px 64px 9px 4px;
      padding: 15px 20px;
      position: relative;
      text-align: center;
      width: 100%;
    
    }
    
    .toolwrapper .tooltip {
      background: #424242;
      bottom: 100%;
      color: #fff;
      display: block;
      left: 0;
      opacity: 1 !important;
      padding: 10px;
      pointer-events: none;
      position: absolute;
      width: 100%;
      -webkit-transform: translateY(0px);
         -moz-transform: translateY(0px);
          -ms-transform: translateY(0px);
           -o-transform: translateY(0px);
              transform: translateY(0px);
      -webkit-transition: all .25s ease-out;
         -moz-transition: all .25s ease-out;
          -ms-transition: all .25s ease-out;
           -o-transition: all .25s ease-out;
              transition: all .25s ease-out;
      -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
         -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
          -ms-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
           -o-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
              box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
    }
    
    /* This bridges the gap so you can mouse into the tooltip without it disappearing */
    .toolwrapper .tooltip:before {
      bottom: -20px;
      content: " ";
      display: block;
      height: 20px;
      left: 0;
      position: absolute;
      width: 100%;
    }  
    
    
    .toolwrapper .tooltip:after {
      border-left: solid transparent 10px;
      border-right: solid transparent 10px;
      border-top: solid #424242 10px;
      bottom: -10px;
      content: " ";
      height: 0;
      left: 80%;
      margin-left: -13px;
      position: absolute;
      width: 0;
    }
      
    .toolwrapper:hover .tooltip {
      opacity: 1;
      pointer-events: auto;
      -webkit-transform: translateY(0px);
         -moz-transform: translateY(0px);
          -ms-transform: translateY(0px);
           -o-transform: translateY(0px);
              transform: translateY(0px);
    }
    <div class="toolwrapper">
       Hover me to show tooltip
      <div class="tooltip">Hi I'm tooltip</div>
    </div>