2013-04-09 11 views
5

Stylizuję stronę, na której mam dostęp tylko do plików CSS.Zmień styl wprowadzania tekstu wprowadzonego przy użyciu tylko CSS

Szukam zmienić styl elementu wejściowego, jeśli jego wartość nie jest pusta.

Oto co mam tak daleko ...

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

i

input { 
    font-style:italic; 
} 

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

to nie działa choć jak tekst nigdy nie jest kursywą.

Czy jest to możliwe, biorąc pod uwagę, że mogę edytować plik CSS?

+0

Jedyne rozwiązanie, które tutaj masz, to zmienić je na ': focus'. Ale oczywiście nie będzie to stylizowane, gdy tylko dane wejście się zatopi. Musisz użyć JavaScript, aby osiągnąć to, co próbujesz zrobić. – BenM

+0

Twój kod działa (przynajmniej w przeglądarce Chrome), ale działa tylko wtedy, gdy wartość jest ustawiona po załadowaniu strony, ponieważ nie ma zdarzenia zmiany, które można powiązać. – j08691

Odpowiedz

4

Wygląda na to, że używasz HTML5 ... jeśli tak właśnie zmieniać swoją PLACEHOLDER tag

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

Myślę, że to, co chcesz zrobić, to styl właściciela. Wypróbuj to!

 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; 
     } 
Powiązane problemy