Adding a triangle to the top of div as it appears in tooltip?

This question already has an answer here:

  • How do CSS triangles work? 18 answers

  • You can do it like this:

    Note: remove the overflow: auto; from .user-options

    CSS

    .user-options {
        background: none repeat scroll 0 0 #eeeeee;
        margin-top: 25px;
        padding: 0 0 0 10px;
        position: absolute;
        width: 125px;
        z-index: 999;
        border:solid #cccccc 1px;
        margin-left:-24px;
    }
    
    .user-options:after, .user-options:before {
        bottom: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
    }
    
    .user-options:after {
        border-color: rgba(238, 238, 238, 0);
        border-bottom-color: #eeeeee;
        border-width: 15px;
        margin-left: -15px;
    }
    .user-options:before {
        border-color: rgba(204, 204, 204, 0);
        border-bottom-color: #cccccc;
        border-width: 16px;
        margin-left: -16px;
    }
    

    DEMO HERE


    I would use the this, depends if you want a border round the triangle though. If so you want to use both :before and :after .

    .user-options {
      background: none repeat scroll 0 0 #eeeeee;
      margin-top: 25px;
      padding: 0 0 0 10px;
      position: relative;
      width: 125px;
      z-index: 999;
      border: solid #cccccc 1px;
      margin-left: -24px;
    }
    .user-options:before {
      content: "";
      position: absolute;
      border-style: solid;
      border-width: 10px 12px;
      border-color: transparent transparent red transparent;
      left: 15%;
      /* TOP IS DOUBLE THE HEIGHT OF THE BORDER */
      top: -20px;
    }
    <div class="user-options">
      <ul class="settings">
        <li><a href="home.html">JOHN DOE</a>
        </li>
        <li><a href="user-customization.html">My Playground</a>
        </li>
        <li><a href="myrules.html">Settings</a>
        </li>
        <li><a href="index.html">Logout</a>
        </li>
      </ul>
    </div>

    你可以采取以下的方式:

    .user-options {
      position: relative;
      border: 10px solid #cccccc;
      top: 100px;
    }
    .user-options:after,
    .arrow_box:before {
      bottom: 100%;
      left: 20%;
      border: solid transparent;
      content: " ";
      position: absolute;
    }
    .user-options:after {
      border-bottom-color: #cccccc;
      border-width: 30px;
    }
    .user-options:before {
      border-bottom-color: #cccccc;
      border-width: 30px;
    }
    <div class="user-options">
      <ul class="settings">
        <li><a href="home.html">JOHN DOE</a>
        </li>
        <li><a href="user-customization.html">My Playground</a>
        </li>
        <li><a href="myrules.html">Settings</a>
        </li>
        <li><a href="index.html">Logout</a>
        </li>
      </ul>
    </div>
    链接地址: http://www.djcxy.com/p/89496.html

    上一篇: 如何仅使用HTML和CSS创建UP箭头?

    下一篇: 在工具提示中显示的div顶部添加一个三角形?