Đặt chiều rộng dưới dạng phần trăm bằng cách sử dụng jQuery


85

Làm cách nào để đặt chiều rộng của một div dưới dạng phần trăm bằng cách sử dụng jQuery?

Câu trả lời:


133

Sử dụng hàm width :

$('div#somediv').width('70%');

sẽ biến:

<div id="somediv" />

thành:

<div id="somediv" style="width: 70%;"/>

3
tôi có chiều rộng trong một biến! Làm thế nào tôi có thể làm cho nó thành% width ??
hemnath Mouli

2
@hemnathmouli jQuery ("div # somediv"). width (myvar + "%");
Zorgatone

Tôi có một phần tử có chiều rộng là 24%, việc đặt chiều rộng như bạn đề xuất là 11% thì thay vào đó, tôi có chiều rộng là 33%. Tôi nghĩ rằng nó đang thêm chiều rộng vào chiều rộng hiện có nhưng như bạn có thể thấy 24 + 11 = 35 chứ không phải 33. Bạn có thể có bất kỳ ý tưởng tại sao điều này xảy ra không?
Eugene

Tôi biết đây là một bài viết cũ, nhưng tôi chỉ chạy vào nó vì nó là kết quả đầu tiên trên google. Tôi nhận thấy rằng hàm css () nhanh hơn một chút mà width (), có lẽ tôi đã nhầm.
Dohab

1
Tôi đã cố gắng thiết lập chiều rộng bằng cách sử dụng .width("20%")nhưng phần tử tiếp tục được đặt thành width: 24%. Sau khi tìm hiểu các tài liệu, hóa ra điều này có liên quan đến thuộc tính CSS box-sizing. Sử dụng .css({'width':"20%"})sẽ tránh được điều chỉnh này.
khartnett

14

Hemnath

Nếu biến của bạn là phần trăm:

var myWidth = 70;
$('div#somediv').width(myWidth + '%');

Nếu biến của bạn tính bằng pixel và bạn muốn tỷ lệ phần trăm mà biến đó chiếm từ biến cha mẹ:

var myWidth = 140;
var myPercentage = (myWidth / $('div#somediv').parent().width()) * 100;
$('div#somediv').width(myPercentage + '%');

13

Đây là một giải pháp thay thế phù hợp với tôi:

$('div#somediv').css({'width': '70%'});
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.