使用.css()和像素值设置left,top,width和height参数有效,但使用百分比值不行?

时间:2010-11-12 08:41:18

标签: jquery html css

this bit of jQuery中,我在画布div上画了一个正方形:

$(document).ready(function() {
    var canvas = $('#canvas');
    canvas.append('<div id="1"></div>');
    $('#1').addClass('ui-boxer')
                .css({ border: '1px solid white',
                       background: 'orange',
                       padding: '0.5em',
                       position: 'relative',
                       'z-index': 100,
                       left: 1, top: 1,
                       width: 50, height: 50});        
});

这很好用。但是我需要为left,top,width和height参数使用百分比而不是px值。 I've tried this,但不起作用:

$(document).ready(function() {
    var canvas = $('#canvas');
    canvas.append('<div id="1"></div>');
    $('#1').addClass('ui-boxer')
                .css({ border: '1px solid white',
                       background: 'orange',
                       padding: '0.5em',
                       position: 'relative',
                       'z-index': 100,
                       left: 1%, top: 1%,
                       width: 50%, height: 50%});        
});

我在这里做错了什么?谢谢你的阅读。

2 个答案:

答案 0 :(得分:7)

他们需要成为字符串:'1%'不仅仅是1%。 Javascript无法理解%符号。

所以:

$(document).ready(function() {
    var canvas = $('#canvas');
    canvas.append('<div id="1"></div>');
    $('#1').addClass('ui-boxer')
                .css({ border: '1px solid white',
                       background: 'orange',
                       padding: '0.5em',
                       position: 'relative',
                       'z-index': 100,
                       left: '1%', top: '1%',
                       width: '50%', height: '50%'});        
});

答案 1 :(得分:2)

你需要引用百分比:

width: '50%'