2013-04-09 2 views
5

Я разрабатываю страницу, на которой мне предоставлен только доступ к файлам CSS.Изменение стиля ввода при вводе текста с использованием только CSS

Я ищу, чтобы изменить стиль элемента ввода, если это значение не пусто.

Вот что я до сих пор ...

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

и

input { 
    font-style:italic; 
} 

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

Это не работает, хотя, как текст никогда не курсивом.

Возможно ли это достичь с учетом того, что я могу редактировать только файл CSS.?

+0

О единственном решении, которое вы имеете здесь, это изменить его на ': focus'. Но, конечно, это не будет оформлено, как только вход будет размытым. Вам нужно будет использовать JavaScript для достижения того, что вы пытаетесь сделать. – BenM

+0

Ваш код работает (по крайней мере, в Chrome), но работает только в том случае, если значение установлено при загрузке страницы, поскольку для привязки нет события изменения. – j08691

ответ

4

Похоже, вы используете HTML5 ... если это так просто изменить ваш ЗАПОЛНИТЕЛЬ тег

::-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/

0

Я думаю, что то, что вы хотите сделать, - это стиль держателя места. Попробуйте!

 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; 
     } 
Смежные вопросы