2011-01-25 19 views
12

tôi muốn đặt một hình ảnh trên nền của hộp kiểm tra & hộp radio trong mã html của tôi nhưng nó không hoạt động nhưng nó hoạt động trên thuộc tính biểu mẫu khác.có thể đặt hình ảnh vào loại đầu vào = "hộp kiểm" không?

+0

Tôi nghĩ rằng nó không thể, bạn có thể thử một số javascript + css làm việc cho điều đó. Ví dụ: http://www.queness.com/post/204/25-jquery-plugins-that-enhance-and-beautify-html-form-elements – KishoreK

+0

Sẽ dễ dàng hơn nhiều nếu bạn cung cấp ít nhất một số mã liên quan đến nơi bạn đang gặp sự cố. –

+0

Bạn có thể thử nếu bạn có thể tạo thứ gì đó từ 'input [type = checkbox]: after' và' input [type = checkbox]: checked: after', nhưng đó có lẽ là CSS3 và tôi không có boiletplate hoàn chỉnh cho điều đó, lấy làm tiếc. –

Trả lời

15

tôi thấy cách làm thế nào cho hình ảnh để hộp kiểm & đài phát thanh nút với css tinh khiết.

HTML

<input type='checkbox' name='thing' value='valuable' id="thing"/><label for="thing"></label> 

CSS

input[type=checkbox] { 
    display:none; 
} 

input[type=checkbox] + label { 
    background: #999; 
    height: 16px; 
    width: 16px; 
    display:inline-block; 
    padding: 0 0 0 0px; 
} 

input[type=checkbox]:checked + label { 
    background: #0080FF; 
    height: 16px; 
    width: 16px; 
    display:inline-block; 
    padding: 0 0 0 0px; 
} 

Kiểm tra này để biết thêm http://css-tricks.com/the-checkbox-hack/,

https://gist.github.com/592332

0

Đặt hộp kiểm trong div và đặt hình nền trong div đã cho. Dưới đây là một ví dụ:

<div id="backgrounddiv" style="background-image: url('image.gif');"> 
<input id="check_box" type="checkbox" /> 
</div> 
+0

Tôi đã không thử điều này nhưng chỉ từ cái nhìn tôi có thể thấy điều này sẽ không làm việc cho mục đích của chúng tôi :), giải pháp riêng của sandeep là tốt nhất :) (chưa) –

2

Tôi viết mã của riêng mình để khắc phục vấn đề này. Điều này sẽ làm việc như thế này. Tôi không có mã này ngay bây giờ nhưng tôi viết cùng một cách ở đây trên SO.

<div class="checkbox-wrapper"> 
<input type="checkbox" name="value"/> 
<img src="img/blah.png"/> 
</div> 

Trong css, chúng tôi sẽ ẩn hộp kiểm này bằng cách làm cho chỉ mục Z thấp hơn hình ảnh tôi đặt bên trong mã trình bao này. Cuối cùng, khi ai đó nhấp vào hình ảnh, nó trông giống như hộp kiểm và trong hộp kiểm thực sẽ được nhấp vào. thay vì display:none sử dụng opacity: 0 sẽ tốt hơn. Điều này sẽ phá vỡ trong IE6 nhưng chúng tôi đã không quan tâm về điều đó bởi vì tôi không hỗ trợ IE6 nữa.

Trong Javascript Bạn có thể viết sự kiện nếu bạn muốn triển khai khác (nhưng tương tự như tôi). Bạn có thể thay thế Checkbox Html bản địa, Radio và chọn (select2 là tốt hơn nếu bạn gắn bó với Twitter bootstrap) với các điều khiển dựa trên chủ đề của riêng bạn.

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