0

スライダーに入れるフォームがあります。各入力フィールドのラベルをli内で垂直方向の中央に配置したいと思います。一部のラベルには2行があり、一部には1行しかありません。また、後ですべてのラジオボタンを中央に配置したいと思います。

これまで試しましたが、うまくいきません

    <li class="fill-in">
        <label for="sasqNumber">SASQ number (today's date i.e. dd_mm_yyyy):</label>
        <input type="text" name="sasqNumber" id="sasqNumber" value="" />
    </li>

#test ul li.fill-in label{
    text-align:right;
    width:30%;
    float:left;
    vertical-align:middle; 
    display:table-cell;
    margin:0 5% 0 0;
}

サイトへのリンクhttp://www.foresightaus.com.au/form/

4

2 に答える 2

1

この非常に単純なjqueryスクリプトを使用します。

(function ($) {
$.fn.vAlign = function() {
    return this.each(function(i){
    var ah = $(this).height();
    var ph = $(this).parent().height();
    var mh = Math.ceil((ph-ah) / 2);
    $(this).css('margin-top', mh);
    });
};
})(jQuery);

次に、垂直方向に配置する要素に対して関数を呼び出します。

$('#example p').vAlign();
于 2013-03-14T23:22:13.233 に答える
-1

セットアップをあまり編集しなくても、より中心に見えるようになりました。追加した:

position: relative;
top: 50%;
margin: -15px 5% 0 0
于 2013-03-14T22:59:06.617 に答える