2013-04-09 123 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 2013-04-09 15:15:10

+0

您的代碼可以工作(至少在Chrome中),但僅適用於頁面加載時設置值,因爲沒有要更改的事件綁定。 – j08691 2013-04-09 15:16:22

回答

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/

1

也許你想這樣的:

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

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

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; 
     }