首頁 >web前端 >H5教程 >HTML5 input placeholder 顏色修改範例_html5教學技巧

HTML5 input placeholder 顏色修改範例_html5教學技巧

WBOY
WBOY原創
2016-05-16 15:47:511470瀏覽

Chrome支援input=[type=text]佔位文字屬性,但下列CSS樣式卻不起作用:

CSS

複製程式碼
程式碼如下:

input[placeholder], [placeholder], *[placeholder] {
color:red !important;
}
}
}
}
}
}
}
} } } } }
HTML input語句




複製程式碼


碼>

運行結果值還是灰色,Color:red沒有作用。有什麼方法可以修改佔位文字的顏色嗎?我在瀏覽器安裝了jQuery佔位文字插件,但仍然無用。 (!important只有IE7和firefox能辨識)
回答: toscho:有三種實作方式:偽元素(pseudo-elements)、偽類( pseudo-classes)和Notihing。 WebKit和Blink(Safari,Google Chrome, Opera15 )使用偽元素


複製代碼


代碼如下:
::-webkit-input-placeholder Mozilla Firefox 4-18使用偽類


複製程式碼


程式碼如下:
:-moz-placeholder Mozilla Firefox 19 使用偽元素


複製代碼


代碼如下:
::-moz-placeholder IE10使用偽類


複製代碼


代碼如下:


:-ms-input -placeholder
IE9和Opera12以下版本的CSS選擇器皆不支援佔位文字。要注意的是偽元素在Shadow DOM裡會起到元素的真實作用。 CSS選擇器 因為每個瀏覽器的CSS選擇器都有差異,所以需要針對每個瀏覽器做單獨的設定。



複製程式碼


程式碼如下:


::-webkit-input-placeholder {input-placeholder {input-placeholder {input-placeholder {input-placeholder {input-placeholder {input-placeholder {input /* WebKit browsers */
color: #999;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #999;
}
::-moz-placeholder { /* Mozilla Firefox 19 */
color: #999;
}
:-ms-input-placeholder { /* Internet Explorer 10 */
color: #999; } Matt:textareas(文字方塊可拉伸)風格樣式的程式碼,如下:



複製程式碼


程式碼如下:

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
color: # 636363;
}
input:-moz-placeholder, textarea:-moz-placeholder {
color: #636363; } Textarea的字型顏色均為紅色。所有樣式都要針對不同的選擇器而定,不要打包整體處理,因為其中一個出問題,其他的都會失效。



複製程式碼


程式碼如下:


*::-webkit-input-holder {
color: red;
}
*:-moz-placeholder {
color: red;
}
*:-ms-input-placeholder {
/* IE10 */
color: red; } James Donnelly:在Firefox和IE裡,正常input文字顏色覆蓋佔位符顏色的方法:



複製程式碼


程式碼如下:


::-webkit-input-placeholder {
color: red>color: red ; text-overflow: ellipsis;
}
:-moz-placeholder {
color: #acacac !important; text-overflow: ellipsis;
} ::-moz-placeholder { color: #acacac !important; text-overflow: ellipsis; } /* for the future */ :-ms-input-placeholder { color: #acacacac !important; text- overflow: ellipsis; }
還有一種好辦法:

複製代碼
代碼如下:

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
color: #666;
}
input:-moz-placeholder, textarea:-moz-placeholder {
color: #666;
}
input::-moz-placeholder, textarea::-moz-placeholder {
color: #666;
}
input:-ms-ms- input-placeholder, textarea:-ms-input-placeholder {
color: #666;
}

最後一種是從網路上找的:

最後一種是從網路上找的:
複製程式碼

程式碼如下:


$('[placeholder]').focus(function(()) {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass( 'placeholder');
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input. val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur();
$('[placeholder]').parents('form').submit(function() {
$(this).find('[placeholder]'). each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});

這個程式碼呼叫的規則是,先載入Javascript再用CSS修改佔位符屬性。
複製程式碼

程式碼如下:


form .placeholder {color. #222;
font-size: 25px;
/* etc */
}


user1729061:不用CSS和占位文本,同樣能得到相同效果。
複製程式碼
程式碼如下:


input type="text" value=" placeholder text" onfocus="this.style.color='#000';
this.value='';" style="color: #f00;"/>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn