2012-02-17 83 views
9

我想知道是否可以樣式的輸入框... such爲值:是否可以設置輸入文本的值?

<input class="textBox" type="text" rel="Inserisci il <span style=" value="Inserisci il <span style='color:#c83243;'>titolo</span> per l’URL personalizzato" name="ctl00$InsertDati1$txtTitolo">​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

但它不呈現span元素。有什麼建議麼?

+0

你是指'textBox'裏面的文字? – 2012-02-17 10:13:39

+0

幾乎沒有。查看幾十個類似問題右側的「相關」部分,以及不滿意的答案。但是告訴我,你真的想把一個HTML'span'插入到'input'中嗎?這是行不通的。 – 2012-02-17 10:16:28

+0

span只是一個例子!我需要的只是一個自定義文本輸入:)昆汀的解決方案搖滾,但在IE7上我有一些麻煩...... – markzzz 2012-02-17 11:25:48

回答

4

不,這是不可能的。

不要試圖濫用value屬性爲表單控件提供<label>。 (並且不要嘗試將rel屬性用於除此之外的鏈接關係以外的其他任何屬性)。

取而代之,請使用真實的<label>。如果你真的希望它出現在用戶將被輸入,則:

  1. 裹在一個容器中的輸入和標籤(比如一個div)
  2. 設置就可以了position: relative使它成爲一個包含塊
  3. 絕對定位在標籤的頂部輸入
  4. 使輸入透明
  5. 添加任何其它樣式的背景顏色如期望
+0

它不適用於IE7 ... DAAAAMNNN !!!! http://jsfiddle.net/y4dkF/3/ – markzzz 2012-02-17 11:00:05

+0

看起來「透明的背景」可以獲得「焦點」事件... – markzzz 2012-02-17 11:00:26

+0

但是,只有當我點擊文本..點擊接近下一個它也適用於IE7 !爲什麼? – markzzz 2012-02-17 11:04:52

2

您可以設置整個輸入框內容的樣式,但不能將不同樣式應用於其內容的不同部分。

例如<input style="color:red" value="all text is red"/>是可能的,但是<input value="<span style='color:red'>this text is red</span>, and <span style='color:red'>this text is red</span>">不是。

嘗試使用contenteditable功能來查看多行框。

-9

嘗試使用Twitter的引導程序包 - http://twitter.github.com/bootstrap - 您可以輕鬆實現圓角半徑,插入陰影,漂亮的懸停和焦點效果...您還可以下載「less-css」版本 - 真正靈活的工具 - 但它更適合用戶:)

+2

沒有任何東西可以幫助作者創造價值的*部分*。 – Quentin 2012-02-17 10:24:40

7

您可以在輸入框中設置樣式。對於如:

input{ 
    color:#ff0000; 
    font: 1em/1.25em Arial, Helvetica, sans-serif; 
} 

如果你想在另一方面使用佔位符的內容,你可以添加一個「佔位」輸入標籤屬性,像這樣:

<input type="text" class="textbox" placeholder='Title' /> 

注意,佔位符只能工作在支持HTML5和佔位符屬性的瀏覽器。如果您希望兼容舊版瀏覽器,並且不介意使用某些JQuery,則可以使用像JQuery Watermark這樣的JQuery插件。

但是,您不能將跨度元素放置在input標記的value之內。

+0

+1。顯然,這是最乾淨,最有前途的方法。 – CherryFlavourPez 2012-02-17 11:03:02

0

你可以做的一件事是用輸入選擇器設置文本的樣式,然後設置不同的輸入:焦點。所以佔位符文本看起來會不同於某人輸入的文本。

+2

歡迎來到Stackoverflow。您是否介意擴大答案,讓其他程序員瞭解它是如何幫助解決問題的。 – Daenarys 2015-10-23 13:57:13

6

對div使用contentEditable屬性非常好,我想。 示例:https://jsfiddle.net/scjnwrnf/ <div contenteditable="true">This is a paragraph.<span style = "color:red"> It is editable. </span> Try to change this text.</div> 然後,您可以隱藏輸入元素,並通過JavaScript將div中的純文本值轉換爲輸入值。 謝謝潘塔爾。

相關問題