2011-08-23 15 views
0

現在、HTML、CSS、PHPプロジェクトを作成中です。ユーザーがフォーム上の入力フィールドをクリックしたときに、ユーザーに小さな説明を提供するためのツールチップを表示したい。私はツールヒントを入力フィールドの隣に表示するが、フォームを少し重ねる代わりに、代わりにフォームの端を囲むように見えるようにしたい。私はツールチップのZ-インデックスを1に変更しようとしましたが、何の違いもありませんでした。 HTML、CSS、およびJQueryを使用することで、このような問題が解決されました。以下は私がこれを行うのに使ったコードです。以下htmlの入力をクリックするとヒントが表示される

形態以下

<form action="index.php" method="post" style="margin-top: auto; margin-bottom: auto;"> 
    <table class="formTable"> 
     <tr><td> 
    <label for="txtUsername">Username: </label> 
    </td> 
    <td> 
      <input class="forms" type="text" name="txtUsername" placeholder="Username" required autofocus /> 
      <span class="tooltip" style="z-index: 1;">Please enter your username</span> 
     </td> 
     </tr> 
     <tr>      
      <td> 
      <label for="txtPassword">Password: </label> 
      </td> 
      <td> 
      <input class="forms" type="password" name="txtPassword" placeholder="Password" required /><br /> 
      </td> 
      </tr> 
      <tr><td colspan="2"> 
       <div class="buttonGroup"> 
       <input class="button" type="submit" name="btnSubmit" text="Submit" /> <input class="button" type="reset" text="Reset" />  </div> 
      </td> 
      </tr> 
     </table> 
     </form> 

ためのコードであり、フォームの下

form 
{ 
    width: 500px; 
    text-align: center; 
    height: auto; 
    background-color: #95b0ff; 
    margin-left: auto; 
    margin-right: auto; 
    padding: 5px; 
    border-width: 1px; 
    border-color: black; 
    border-style: solid; 
    -webkit-border-radius:5px; 
    -moz-border-radius:5px; 
    border-radius:5px; 
    z-index: 1; 

} 

のCSSコードは、ツールチップの下

.tooltip { 
    padding: 5px; 
    margin-left: 50px; 
    background: #666; 
    /*border: 1px solid #606060;*/ 
    border: 1px solid white; 
    color: #ddd; 
    -border-radius: 5px; 
    -moz-border-radius: 5px; 
    -webkit-border-radius: 5px; 
    box-shadow: 0 1px 3px #111; 
    -moz-box-shadow: 3px 3px 1px #999; 
    -webkit-box-shadow: 3px 3px 1px #999; 
    z-index: 2; 
} 

ためのCSSはjQueryのですツールチップを表示するには

$(function() { 
    $('.tooltip').hide(); 
    $('.tooltip').prev('input').focus(function(){ 
     $(this).next().fadeIn('slow'); 
    }).focusout(function(){ 
     $(this).next().fadeOut('slow'); 
    }); 
}); 

ご協力いただきありがとうございます。

更新 @Rikudo Senninのおかげで、これはうまくいきました。私が今持っている唯一の問題は、ツールチップではなく、それは

Form showing tooltip not aligned with input

+0

多分これはあなたの興味ですか? http://jsbin.com/pseudotooltip – Achshar

答えて

0

親にposition: relativeを使用して、ツールチップ上position: absolute。またWorking Example

は、無関係なノートに、for=マッチングid=<input>のため<label>の検索のための属性がないname=秒です。

+0

ありがとうございます。これは、ツールチップが入力フィールドの横に並んでいない点を除いて、機能しています。代わりに、新しい行に配置したように見えます。どのように私はそれを行にすることができます私はトップを言ってみました:20pxしかし、これは動作しませんでした。私は何を意味するのかを説明するためにイメージを表示するように質問を更新しました。あなたの助けをありがとう – Boardy

+0

実際には 'top:-someValuepx'が動作するはずです。私の例を更新します。 –

+0

クリックされた入力フィールドの隣ではなく、画面上の位置に固定されるので動作しませんでした – Boardy

1

ない、これはあなたが探しているものであることを確認してください下の画像のように、わずかに下に表示され、入力フィールドの横に表示されていないということです。

.tooltip { 
    position:absolute; 
} 
関連する問題