2010-06-01 48 views

Trả lời

8

không.

bạn có thể đặt chiều rộng tuyệt đối cho hộp nhưng không có tùy chọn css để lặp lại hình ảnh n lần.

+0

thậm chí không ở CSS3 – FelipeAls

+0

Ngắn của thiết lập chiều rộng hoặc chiều cao để hạn chế số lượng hình ảnh lặp lại hoặc lặp lại theo cách thủ công khu vực trong một hình ảnh, vâng, điều này. – reisio

23

Một hack xấu xí có thể chèn nhiều lần -statically- cùng một hình ảnh (sử dụng multiple backgrounds):

Ví dụ: Để lặp lại theo chiều ngang một hình ảnh (80x80) ba lần:

background-image: url('bg_texture.png'), 
        url('bg_texture.png'), 
        url('bg_texture.png'); 
background-repeat: no-repeat, 
        no-repeat, 
        no-repeat; 
background-position: 0 top, 
        80px top, 
        160px top; 

Cẩn thận: không làm việc trên IE dưới 9 phiên bản (source).

+3

Bạn chỉ cần không lặp lại văn bản một lần, cho phiên bản đơn giản nhất – Gibolt

2

Bạn có thể kết hợp một jQuery nhỏ với CSS để đạt được những gì bạn muốn.

Giả sử bạn muốn hiển thị hình ảnh foo.png 3 lần theo chiều ngang và 2 lần theo chiều dọc.

CSS:

body { 
    background: url('foo.png'); 
} 

jQuery:

$(document).ready(function() { 
    $('body').css('background-size', $(window).width()/3 + 'px ' + $(window).height()/2 + 'px'); 
}); 

Ngoài ra, bạn có thể dán đoạn mã tương tự trong $ (window) .resize() để có được một phản ứng năng động.

+0

Hoặc bạn có thể chỉ cần đặt giá trị CSS kích thước nền là 33,33% 50%. Tôi cảm thấy jQuery sẽ mang lại một giá trị chính xác hơn mặc dù. –

0

Tôi không chắc những gì ban đầu tạo động lực cho câu hỏi này, nhưng tôi thấy nó tìm kiếm một cách để đảm bảo chỉ có một số bản sao của hình nền xuất hiện (nghĩa là không cắt thành viên cuối cùng của một tập hợp lặp lại hình nền.) Điều đó có thể đạt được thông qua thuộc tính background-repeat: space.

Các vấn đề liên quan