0

我正在使用此代码生成仅 css 的语音气泡:-

li.selected{
            background-color: blue;
            a{
                color: white;
            }

        }

        li.selected:after{

            content: "";
            position: absolute;
            top: 33%;
            left: 390px;
            border-top: 10px solid transparent;
            // border-top-color: inherit; 
            border-left: 10px solid blue;
            border-right: 10px solid transparent;
            border-bottom: 10px solid transparent;

        }

虽然这工作正常,但当我移动到下一个 li 项目时,三角形会离开,因为它有一个固定的位置,我该如何移动三角形呢?

http://i.stack.imgur.com/zxzm0.png

这是我的 html 代码:-

<ul>

              <li class='selected'>
                <a href="/users/credits">Credits</a>
              </li>
              <div class='line-separator'></div>
              <li>
                <a href="/users/edit">Change Password</a>
              </li>
              <div class='line-separator'></div>
              <li>
                <a href="#">Investor Status</a>
              </li>
            </ul>
4

2 回答 2

1

而不是使用position:absolute箭头,您需要将其更改为relative位置,以便箭头相对于.selected菜单项定位自身。

在此处查看演示

注意:将:hover选择器替换为.selected类。

于 2013-06-28T09:24:24.827 回答
-1

你有这个 CSS 有用

/* 等腰三角形气泡 ------------------------------------------ * /

.triangle-isosceles {
   position:relative;
   padding:15px;
   margin:1em 0 3em;
   color:#000;
   background:#f3961c;

   /* css3 */
   -moz-border-radius:10px;
   -webkit-border-radius:10px;
   border-radius:10px;
   background:-moz-linear-gradient(top, #f9d835, #f3961c);
   background:linear-gradient(top, #f9d835, #f3961c);
}

/* creates triangle */
.triangle-isosceles:after {
   content:"";
   display:block; /* reduce the damage in FF3.0 */
   position:absolute;
   bottom:-15px;
   left:50px;
   width:0;
   border-width:15px 15px 0;
   border-style:solid;
   border-color:#f3961c transparent;
}
于 2013-06-28T08:31:47.723 回答