0

我有一个要放入滑块的表单,我想将每个输入字段的标签垂直居中在 li 中。有些标签有两行,有些只有一行。稍后我还想将所有单选按钮居中。

到目前为止我已经尝试过了,但它不起作用

    <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 回答