2013-01-24 36 views
5

Tôi có một hộp văn bản, hoạt động như một hộp tìm kiếm trên trang của tôi. Tôi điền trước trường bằng từ 'TÌM KIẾM' có màu văn bản mặc định là # D6D6D0.thay đổi màu phông chữ trong hộp văn bản bằng CSS khi giá trị được nhập vào hộp

Sử dụng CSS, bạn có thể thay đổi màu văn bản thành #FFFFFF khi có ai đó nhập văn bản vào hộp không?

<input type="text" name="q" value="SEARCH" id="searchFieldText"> 

#searchFieldText { 
    background: url("/images/crmpicco/search_bg3.png") no-repeat scroll 0 0 #000000; 
    border: medium none; 
    color: #D6D6D0; 
    float: left; 
    font-family: Arial,Helvetica,sans-serif; 
    font-size: 10px; 
    height: 21px; 
    padding-left: 0; 
    padding-top: 3px; 
    width: 168px; 
} 

Trả lời

7

Lớp giả tập trung nên việc

#searchFieldText:focus { 
    color: #fff; 
} 
1

Sử dụng kính giả :focus sẽ thực hiện thủ thuật cho bạn.

#searchFieldText:focus{ 
    color:#fff; 
} 

tôi cũng khuyên bạn nên sử dụng thuộc tính mới placeholder cho lĩnh vực đầu vào mà sẽ làm một số kỳ diệu cho bạn (cần phải nhận thức được sự ủng hộ tuy nhiên).

See the example

8

Sử dụng :focus sẽ chỉ áp dụng khi hộp hiện đang trong tâm, khi người dùng đi ra của hộp văn bản màu sắc sẽ trở lại.

Tôi khuyên bạn nên sử dụng thuộc tính placeholder, ghi đè kiểu dáng cho placeholder thành màu #D6D6D0 bạn muốn và áp dụng kiểu bạn muốn trên hộp văn bản.

Bạn có thể ghi đè lên phong cách placeholder với những selectors psuedo:

::-webkit-input-placeholder { 
    color: #D6D6D0; 
} 
:-moz-placeholder { 
    color: #D6D6D0; 
} 
::-moz-placeholder { 
    color: #D6D6D0; 
} 
:-ms-input-placeholder { 
    color: #D6D6D0; 
} 

tôi đã thực hiện một fiddle cung cấp cho bạn một ý tưởng: http://jsfiddle.net/bM5AE/

4

Bạn có thể sử dụng tốt hơn giữ chỗ để điền trước các lĩnh vực, trên gõ chúng sẽ biến mất, nếu onblur trường trống thì trình giữ chỗ sẽ quay trở lại.

<input type="text" name="q" placeholder="SEARCH" id="searchFieldText"> 

Và nếu bạn wan't để tạo kiểu cho placeholder

::-webkit-input-placeholder { 
    color: red; 
} 
:-moz-placeholder { /* Firefox 18- */ 
    color: red; 
} 
::-moz-placeholder { /* Firefox 19+ */ 
    color: red; 
} 
:-ms-input-placeholder { 
    color: red; 
} 

Example

+0

1) họ sẽ không được tập trung vào nhưng gõ vào chữ cái đầu tiên 2) nó hỗ trợ không phải là rất tốt đẹp, <= IE9 không hỗ trợ nó. – Christoph

+0

1) true;) 2) '<= IE9-people' phát điên và đang giữ lại các cải tiến. Nếu chúng tôi luôn phải hỗ trợ các trình duyệt cũ hơn, chúng tôi sẽ không bao giờ loại bỏ chúng ... – Gijs

+0

sry, nhưng điều đó vô nghĩa - IE9 là trình duyệt mới nhất bạn có thể nhận được trên Vista và Windows 7 (và IE8 cho WinXP). Nếu bạn đang phát triển web nghiêm túc, bạn không thể bỏ qua hỗ trợ cho (các) trình duyệt này. – Christoph

0

hi Hãy thử đoạn code dưới đây nó sẽ làm việc ....

 $(document).ready(function() { 
      $("#searchFieldText").keypress(function() { 
       $("#searchFieldText").css("color", "#ffffff"); 
      }); 
     });