Bootstrap Tooltip working but hidden due to z-index?

后端 未结 8 1195
孤城傲影
孤城傲影 2021-01-31 14:03

If you hover over the first pencil, you can see the tooltip coming up but it\'s hidden.

How can I tell all tooltips to show up above everything else?

Relevant c

8条回答
  •  挽巷
    挽巷 (楼主)
    2021-01-31 14:45

    Don't use position: fixed for this, it looks like it works but will cause problems later on.

    In your case, the best option would be to append the tooltip to the body (as mentionned by @machineaddict in a comment) to ensure it follows the pencil on scroll, which fixed positioning won't.

    $('.nav-text').tooltip({
        placement: 'right',
            title: 'heyo',
        container: 'body' //<--- use the container option
    });
    

    You could even be more specific and use container: '.side-study-box' to ensure the tooltip follows its div even if the whole box scrolls independently from the body. Just make sure the container has position: relative.

    As mentioned in Diego's answer, you can use any option above as a data attribute:

    
        ...
    
    

    Tooltip that Follows a div with overflow scroll

    I added a .container div around the original snippet, made it small to force scrolling on overflow. You can see the tooltip follows the pencil icon when scrolling.

    $('.nav-text').click(function() {
      console.log('heyo');
    }).tooltip({
      placement: 'right',
      title: 'heyo',
      // follows the box even if it is scrolled withinthe container div.
      container: '.container',
    });
    .container {
      height: 100px;
      overflow: scroll;
      position: relative;
    }
    .side-study-box {
      background-color: white;
      color: black;
      border: 1px solid #3D6AA2;
      text-align: center;
      height: 160px;
      display: table !important;
      margin: 0px !important;
      margin-left: -1px !important;
    }
    .side-study-box .viewport {
      height: 120px;
      overflow: hidden;
      position: relative;
    }
    .side-study-box span {
      position: relative;
      width: 100%;
      font-size: 24px;
      display: table-cell;
      vertical-align: middle;
    }
    .side-study-box textarea {
      position: relative;
      height: 195px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%;
      margin: auto;
      font-size: 18px;
      font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New;
      display: table-cell;
      vertical-align: middle;
      resize: none;
    }
    .side-study-box i {
      margin: 0px !important;
      padding-right: 1px;
    }
    .side-study-box .side-box-menu {
      border-right: 1px solid #335987;
      width: 28px;
      text-align: center;
      height: 100%;
    }
    .side-box-menu-nav {
      display: inline-block;
      cursor: pointer;
      text-decoration: none !important;
      margin: 0px;
      width: 100%;
      background-color: #3D6AA2;
      color: white;
    }
    .side-box-menu-nav:hover {
      background-color: #335987 !important;
      color: white !important;
    }
    .side-study-box ul {
      list-style-type: none;
      margin: 0px;
      margin-left: -1px !important;
      padding: 0px;
      padding-right: 2px;
      height: 100%;
      color: #335987;
      position: absolute;
      top: 0;
    }
    .side-study-box ul li {
      margin: 0px;
    }
    .side-study-box ul li :hover {
      color: black;
    }
    .side-study-box ul li a {
      padding-left: 3px;
      cursor: pointer;
      text-decoration: none;
      display: inline-block;
      margin: 0px;
      color: gray;
    }
    .side-study-box ul li a .side-box-menu-control {
      padding-top: 3px;
      height: 23px;
    }
    
    
    
    
    

提交回复
热议问题