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 に答える