Maison > Questions et réponses > le corps du texte
P粉7104789902023-08-21 12:14:04
Vous pouvez utiliser des :placeholder-shown
pseudo-classes. Techniquement, un espace réservé est requis, mais vous pouvez utiliser un espace à la place.
input:not(:placeholder-shown) { border-color: green; } input:placeholder-shown { border-color: red; }
<input placeholder="需要文本" /> <input placeholder=" " value="这个有效" /> <input placeholder=" " />
P粉4156323192023-08-21 09:35:11
Stylish ne peut pas faire cela car CSS ne le permet pas. CSS n'a pas de (pseudo) sélecteurs pour <input>
valeurs. Voir :
:empty
Les sélecteurs ne fonctionnent que sur les nœuds enfants, pas sur les valeurs d'entrée.
[value=""]
[value=""]
可以工作;但仅适用于初始状态。这是因为CSS所看到的节点的value
属性与节点的value
peut fonctionner mais uniquement dans l'état initial
valeur
property du nœud telle que vue par CSS est différente de la valeur
property du nœud (modifiée par l'utilisateur ou le JavaScript DOM et soumise en tant que données de formulaire) .
// ==UserScript== // @name _Dynamically style inputs based on whether they are blank. // @include http://YOUR_SERVER.COM/YOUR_PATH/* // @grant GM_addStyle // ==/UserScript== /*- The @grant directive is needed to work around a design change introduced in GM 1.0. It restores the sandbox. */ var inpsToMonitor = document.querySelectorAll ( "form[name='JustCSS'] input[name^='inp']" ); for (var J = inpsToMonitor.length - 1; J >= 0; --J) { inpsToMonitor[J].addEventListener ("change", adjustStyling, false); inpsToMonitor[J].addEventListener ("keyup", adjustStyling, false); inpsToMonitor[J].addEventListener ("focus", adjustStyling, false); inpsToMonitor[J].addEventListener ("blur", adjustStyling, false); inpsToMonitor[J].addEventListener ("mousedown", adjustStyling, false); //-- Initial update. note that IE support is NOT needed. var evt = document.createEvent ("HTMLEvents"); evt.initEvent ("change", false, true); inpsToMonitor[J].dispatchEvent (evt); } function adjustStyling (zEvent) { var inpVal = zEvent.target.value; if (inpVal && inpVal.replace (/^\s+|\s+$/g, "") ) zEvent.target.style.background = "lime"; else zEvent.target.style.background = "inherit"; }