2012-10-25 7 views
7

私はラベルの左側に表示されるポップオーバーを持っている:左ポジショニングAブートストラップポップオーバー

$('label').hover(function() { 
       $(this).popover({ 
        offset: 10, 
        placement: 'left' 
       }).popover('show'); 

ポップオーバーは、現在のラジオボタンをブロックしていると私はそれが10pxの、たとえば、左に移動します。私はこれを行う方法を把握していないようです。オフセットはまったく何もしないようです(もし私が10または10000を加えれば、違いはありません)。ここではそのようなラベルのためのHTMLは次のとおりです。

<label for="MainContent_Wizard1_rbLeader" id="MainContent_Wizard1_lblLeader" class="radio" data-original-title="Visionary Giving Level" data-content="Diamond (full-page ad) + 2 dinner tickets">Visionary ($250,000)<span class="radio" name="rbLeader"><input id="MainContent_Wizard1_rbLeader" type="radio" name="ctl00$MainContent$Wizard1$GivingLevel" value="rbLeader" onclick="WizardStep1_Click();" /></span></label> 

私のような何かをCSSでクラスをオーバーライドすることにより、ポップオーバーの位置を設定しようとすることができます:

.popover { 
    left: 380px !important; 
} 

それが表示されますので、これは理想からほど遠いですさまざまなブラウザでさまざまな場所で

そこには、に小さい右余白を追加する必要がありますか?

ありがとうございました。

+0

フィドルを入手できますか? –

+0

私は数分で出発しなければならないし、今日後で家に帰るまでJSフィドルに投稿する時間はありません。ご協力いただきありがとうございます。平均時間では、私は私のHTML –

+0

ただ、ノート、[ポップオーバーのドキュメント]を投稿している(http://twitter.github.com/bootstrap/javascript.html#popovers)オプションとして 'を・オフセット表示されません。 – Sara

答えて

11

単一のポップオーバーのスタイルを、むしろ不可能だ、と - サラとして言及 - offsetとしてはそのようなオプションが(?あなたはQティップを考えること)はありません。しかし、あなたが文書化されていないオプションtemplateを使用することができ、(実際には、ポップオーバーのみcontentを紹介)tooltipオプションから「派生」。あなたが個別にポップオーバーのスタイルを設定することができtemplateを変更することにより

!あなたの問題がポップオーバー自体よりもarrow以上であるように思えるので、あなたがこの

$('label').hover(function() { 
    $(this).popover({ 
     placement: 'left', 
     template: '<div class="popover"><div class="arrow" style="top:65px;"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' 
    }).popover('show'); 
}); 

のように、途中から、単にテンプレートにある矢印のスタイルを追加することによって、上または下矢印を移動しようとすることができますもちろん、ここではすべてのラベルに設定されたすべてのポップオーバーの矢印は$('label').hoverのために変更されますが、ラジオボタンのないものは必要ない場合もあります。

UPDATE - 左

にスタイル全体ポップオーバー+ 10pxの
... 
template: '<div class="popover" style="margin-left:-10px;"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' 
... 
+0

こんにちはDavid。ご意見ありがとうございます、本当にありがとうございます。私はあなたの提案を試みましたが、それは理想的ではない2つのラジオボタンの真ん中に矢印を置きます(私は20のラジオボタンをページに縦に積み重ねています)。私は本当にラベルの左に5/10 pxのような全体のpopover +矢印を押す必要があります(矢印が隠れているラジオボタンを公開しています)。他のアイデア? –

+0

はい、アップデートを参照してください。矢印がそのように振る舞うとき、私はあなたのHTMLをコピー/ペーストすれば、あなたはポップオーバーのために何かを書いていることを示唆します。私のテストはきれいな/ "新鮮な"結核に基づいていました。 – davidkonrad

+0

ありがとうDavid!それは最高です。私はあなたが提案したことをやったが、マージン右を試していた。再度、感謝します! –

0

右マージンを追加するために、これを試してみてください:

.popover.left{ 
    left: calc(100% - 10px) !important; 
} 
1

あなたは=要素に「左」のデータ配置を追加することができます。

関連する問題