2013-04-09 36 views
5

Tôi tạo kiểu cho trang mà tôi chỉ được cấp quyền truy cập vào các tệp CSS.Thay đổi kiểu nhập khi văn bản được nhập chỉ sử dụng CSS

Tôi đang tìm cách thay đổi kiểu của yếu tố đầu vào nếu giá trị của nó không trống.

Dưới đây là những gì tôi có cho đến nay ...

<input id="myInput" type="text" name="myInput" autocomplete="off" placeholder="Enter your Card Number"> 

input { 
    font-style:italic; 
} 

input:not([value='']) { 
    font-style:normal; 
} 

này không hoạt động mặc dù là văn bản không bao giờ là in nghiêng.

Thậm chí có thể đạt được điều này khi xem xét tôi chỉ có thể chỉnh sửa tệp CSS.?

+0

Về giải pháp duy nhất bạn có ở đây là thay đổi nó thành ': focus'. Nhưng tất nhiên điều đó sẽ không được tạo kiểu ngay khi đầu vào bị mờ. Bạn sẽ cần phải sử dụng JavaScript để đạt được những gì bạn đang cố gắng làm. – BenM

+0

Mã của bạn hoạt động (trong Chrome ít nhất) nhưng chỉ hoạt động nếu giá trị được đặt khi trang tải vì không có sự kiện thay đổi nào để liên kết. – j08691

Trả lời

4

Hình như bạn đang sử dụng HTML5 ... nếu có thì chỉ cần chỉnh sửa GIỮ CHỖ bạn thẻ

::-webkit-input-placeholder {font-style: italic} /*Chrome */ 
:-moz-placeholder {font-style: italic} /*ff*/ 
:-ms-input-placeholder {font-style: italic} /*ie latest */ 

JSFIDDLE:

http://jsfiddle.net/Riskbreaker/wCff9/

1

Có lẽ bạn muốn điều này:

input::-webkit-input-placeholder { 
    font-style: italic; 
} 
input[type=text] { 
    font-style:normal; 
} 

http://jsfiddle.net/Le6XM/1/

0

Tôi nghĩ rằng những gì bạn muốn làm là tạo kiểu cho người giữ chỗ. Hãy dùng thử!

 input { 
      font-style:italic; 
     } 

     ::-webkit-input-placeholder { 
      font-style:normal; 
     } 

     :-moz-placeholder { /* Firefox 18- */ 
      font-style:normal; 
     } 

     ::-moz-placeholder { /* Firefox 19+ */ 
      font-style:normal; 
     } 

     :-ms-input-placeholder { 
      font-style:normal; 
     } 
Các vấn đề liên quan