Nastavte barvu zástupného symbolu. Jak změnit barvu textu popisku v zástupném symbolu pomocí stylů CSS? Krásně skrývá zástupný symbol

Domov / Technologie
Atribut zástupného symbolu na vstupu a textové oblasti se obvykle používá k poskytnutí výzvy k akci v rámci těchto prvků. V tomto příspěvku popíšu několik možností stylování textu zástupných symbolů a také možnosti jejich animace

Barvu textu našeho zástupného symbolu lze tedy změnit například pomocí následující sady pravidel CSS:

::-webkit-input-placeholder ( color : #c0392b ;) ::-moz-placeholder ( color : #c0392b ;) /* Firefox 19+ */ :-moz-placeholder ( color : #c0392b ;) /* Firefox 18- */ :-ms-input-placeholder ( barva : #c0392b ;)

Délka kódu pro stylování takto jednoduché vlastnosti je způsobena chybějícím společným standardem, a proto každý prohlížeč implementoval podporu pro styling zástupných symbolů po svém.

Také ne všechny jsou podporovány vlastnosti css. Zde je seznam přesně podporovaných vlastností:

písmo (a související)
pozadí (a související)
barva
mezery mezi slovy
mezery mezi písmeny
text-dekorace
svisle zarovnat
textová transformace
výška čáry
odsazení textu
přetečení textu
neprůhlednost

Stává se také, že zástupný text „rozšíří“ šířku prvku input nebo textarea (běžný případ pro mobilní zařízení). Zároveň se automaticky nevzhledně odřízne.

Tento problém nám pomůže vyřešit vlastnost CSS, jako je text-overflow: ellipsis, která do oříznuté oblasti zástupného symbolu přidá estetickou elipsu. Ve stylech píšeme takto:

input [ placeholder ] ( text-overflow : elipsa ;) input ::-moz-placeholder ( text-overflow : ellipsis ;) input :-moz-placeholder ( text-overflow : elipsa ;) input :-ms-input-placeholder ( text-overflow: elipsa ;)

Abychom našim zástupným symbolům dodali ještě více estetiky, je možné přidat efekt jejich skrytí, když je odpovídající prvek zaostřen.

Některé příklady takového skrytí s prvky animace:

/* hladká změna průhlednosti zástupného symbolu při zaostření */.input ::-webkit-input-placeholder ( neprůhlednost : 1 ; přechod : neprůhlednost 0,3 s lehkost ;) .input ::-moz-placeholder ( neprůhlednost : 1 ; přechod : neprůhlednost 0,3 s lehkost ;).input :-moz- zástupný symbol (neprůhlednost: 1; přechod: neprůhlednost 0,3s snadnost;).input:-ms-input-placeholder (neprůhlednost: 1; přechod: neprůhlednost 0,3s snadnost;).vstup (neprůhlednost: 0; přechod: neprůhlednost 0,3s snadnost; ) .input :focus::-moz-placeholder ( neprůhlednost : 0 ; přechod : neprůhlednost 0,3s lehkost ;).input :focus:-moz-placeholder ( opacity : 0 ; přechod : neprůhlednost 0,3s lehkost ;).input :focus :-ms-input-placeholder ( neprůhlednost : 0 ; přechod : neprůhlednost 0,3 s snadnost ;) /* při zaostření posune zástupný symbol doprava */.input ::-webkit-input-placeholder ( text-odsazení : 0px ; přechod : text-odsazení 0,3 s lehkost ;) .input ::-moz-placeholder ( text-odsazení : 0px ; přechod : text-odsazení 0,3 s lehkost ;).input :-moz-placeholder ( text-odsazení : 0px ; přechod : text-odsazení 0,3 s lehkost ;).input :-ms-input-placeholder ( text-odsazení : 0px ; přechod : text-odsazení 0,3 s lehkost ;).vstup :focus::-webkit-input-placeholder( text-odsazení : 500px ; přechod : text-odsazení 0,3 s lehkost ;).input :focus::-moz-placeholder ( text-odsazení : 500px ; přechod : text-odsazení 0,3 s lehkost ;).input :focus:- moz-placeholder ( text-odsazení : 500px ; přechod : text-odsazení 0,3 s lehkost ;) .input :focus:-ms-input-placeholder ( text-odsazení : 500px ; přechod : text-odsazení 0,3 s lehkost ;) /* při zaostření posune zástupný symbol dolů */.input ::-webkit-input-placeholder ( line-height : 20px ; transition : line-height 0,5s easy ;) .input ::-moz-placeholder ( line-height : 20px ; transition : line-height 0.5s easy) ;).input :-moz-placeholder ( line-height : 20px ; transition : line-height 0,5s easy ;).input :-ms-input-placeholder ( line-height : 20px ; transition : line-height 0,5s easy) ;).vstup :focus::-webkit-input-placeholder( line-height : 100px ; transition : line-height 0.5s easy ;).input :focus::-moz-placeholder ( line-height : 100px ; transition : line-height 0.5s easy ;).input :focus:- moz-placeholder ( line-height : 100px ; transition : line-height 0.5s easy ;).input :focus:-ms-input-placeholder ( line-height : 100px ; transition : line-height 0.5s easy ;)

Tady skončíme.

Ve snaze snížit tvar a snížit vizuální šum, návrháři tag

Špatně

Dobře

Styling: změna barvy zástupného symbolu CSS

Změňte styl vstupního pole pomocí zástupného CSS

Špatně

Zástupný symbol pro

Atribut zástupný symbol funguje pouze pro A