Ako zmeniť farbu textu popisku v zástupnom symbole pomocou štýlov CSS? Pridať štýl CSS pre zástupný symbol Štýl: zmeňte farbu CSS zástupného symbolu

Zástupné symboly, tie často sivé textové prvky vo vstupe, môžu byť náročné na štýl. Našťastie sme získali krátke, ale efektívne riešenie CSS, aby sme upravili zástupný text vášho vstupu do ľubovoľnej farby a nepriehľadnosti, ktorú si želáte. Prečítajte si kód.

Zmena farby zástupného textu

Začnime jednoduchým vstupom a nejakým zástupným textom, pre tento príklad použijeme slovo „hľadať“, ale môžete použiť čokoľvek chcete. Základné HTML je nižšie:

HTML

Vstupný text (a textarea) má predvolenú svetlošedú farbu, môžeme to však zmeniť niekoľkými riadkami CSS. Tu zafarbíme vstupný text na červeno pomocou názvu farby HTML, ale postačí akýkoľvek farebný spôsob (HEX, RGB, HSL).

CSS
::-webkit-input-placeholder ( /* Chrome */ farba: červená; ) :-ms-input-placeholder ( /* IE 10+ */ farba: červená; ) ::-moz-placeholder ( /* Firefox 19 + */ farba: červená; nepriehľadnosť: 1; ) :-moz-placeholder ( /* Firefox 4 - 18 */ farba: červená; nepriehľadnosť: 1; )

Upozorňujeme, že je dôležité zahrnúť predpony rôznych dodávateľov, aby sa podporilo čo najviac prehliadačov. Iba vstupný zástupný text prehliadača Firefox má predvolenú miernu priehľadnosť, takže nie je potrebné nastavovať vlastnosť nepriehľadnosti v prehliadači IE alebo Chrome.

Zmena farby textu zamerania zástupného symbolu

Dobre, úspešne sme zmenili farbu zástupného textu na červenú, ale bolo by pekné, keby sa niečo stalo, keď používateľ klikne do nášho vstupu. Pomocou rovnakých vlastností CSS s predponou od dodávateľa môžeme zmeniť nepriehľadnosť vstupného zástupného textu na zameranie.

CSS
vstup ( obrys: žiadny; výplň: 12px; polomer okraja: 3px; okraj: 1px plná čierna; ) ::-webkit-input-placeholder ( /* Chrome */ farba: červená; prechod: nepriehľadnosť 250 ms easy-in-out ; ) :focus::-webkit-input-placeholder ( nepriehľadnosť: 0,5; ) :-ms-input-placeholder ( /* IE 10+ */ farba: červená; prechod: nepriehľadnosť 250 ms easy-in-out; ) :focus :-ms-input-placeholder ( nepriehľadnosť: 0,5; ) ::-moz-placeholder ( /* Firefox 19+ */ farba: červená; nepriehľadnosť: 1; prechod: nepriehľadnosť 250 ms easy-in-out; ) :focus:: -moz-placeholder ( nepriehľadnosť: 0,5; ) :-moz-placeholder ( /* Firefox 4 - 18 */ farba: červená; nepriehľadnosť: 1; prechod: nepriehľadnosť 250 ms easy-in-out; ) :focus:-moz-placeholder (nepriehľadnosť: 0,5; )

Vo vyššie uvedenom príklade sme na samotný vstup pridali niekoľko základných štýlov a pridali sme prechod na nepriehľadnosť, aby bol zážitok o niečo krajší. Pozrite si ukážku a experimentujte s ďalšími vlastnosťami a prechodmi CSS.

Zástupný symbol je prvok vstupného poľa, do ktorého je možné umiestniť popis. Keď používateľ začne zadávať údaje, podporný text zmizne, aby neprekážal. Každý prehliadač má svoj vlastný názor na to, ako by sa mal tento prvok zobrazovať a niekedy predvolené štýly rozbijú celý dizajn. Ak ich chcete spravovať, musíte použiť špeciálne pravidlo pre zástupný symbol CSS.

Kde je zástupný symbol?

Problém je v tom, že popis vstupného poľa je pevne skrytý v tieňovom DOM a nie je tak ľahké sa k nemu dostať. Na tento účel sa používa špeciálny neštandardný zástupný symbol ::. S jeho pomocou môžete spravovať vlastnosti popisku.

Štýl zástupného symbolu v CSS vyzerá takto:

Input::placeholder ( farba: červená; nepriehľadnosť: 1; štýl písma: kurzíva; )

Podpora prehliadača

Pseudoprvok zástupného symbolu CSS dobre zvládajú všetky moderné prehliadače a na podporu starších prehliadačov môžete použiť nasledujúce predpony:

  • ::-webkit-input-placeholder - pre prehliadače webkit (Safari, Chrome, Opera);
  • ::-moz-placeholder - pre prehliadače Firefox nad verziou 19;
  • :-moz-placeholder - pre starší Firefox;
  • :-ms-input-placeholder - pre internet Explorer vyššie verzie 10.

Ako vidíte, starý Prehliadače Mozilla, rovnako ako IE, považujú zástupný symbol za pseudotriedu CSS, nie za pseudoprvok. Nehádajme sa s nimi, len tento aspekt zohľadníme pri štylizácii vstupného poľa.

Možnosti stylingu

Pre zástupný pseudoelement v CSS môžete nastaviť nasledujúce možnosti:

  • pozadie - skupina blokov s popisom sa vzťahuje na celé vstupné pole. Nastaviť si môžete nielen farbu (background-color), ale aj obrázok (background-image).
  • farba textu - farba;
  • transparentnosť – nepriehľadnosť;
  • podčiarknutie, prečiarknutie alebo prečiarknutie - text-dekorácia;
  • case - text-transform;
  • vnútorné priehlbiny - vypchávka. Nepodporujú všetky prehliadače. Rovnako ako pri vložených prvkoch sa horná a spodná výplň ignoruje.
  • zobrazenie písma - vlastnosti skupiny písiem, výška riadku a rôzne odsadenia (text-odsadenie, letter-spacing, word-spacing);
  • vertikálne zarovnanie v línii - vertical-align;
  • orezanie textu pri pretečení kontajnera - text-overflow.
.input1::placeholder ( background-image: linear-gradient(lime, blue); color: white; ) .input2::placeholder (text-decoration: line-through; color: purple; font-weight: bold; ) . input3::placeholder ( font-size: 16px; letter-spacing: 10px; ) .input4::placeholder ( background: brown; color: white; text-overflow: elipsy; )

V zameraní

V predvolenom nastavení zmizne popis zo vstupného poľa iba vtedy, ak je doň zadaný aspoň jeden znak. Ale zástupný symbol vám umožňuje implementovať zmiznutie okamžite pri zaostrení na pole. Aby ste to dosiahli, musíte ho skombinovať s pseudo-class:focus.

Input:focus::placeholder ( farba: transparentná; )

V niektorých prehliadačoch je možné animovať zmeny v množstve vlastností zástupných symbolov pomocou príkazu prechodu.

Input::placeholder ( farba: čierna; prechod: farba 1s; ) input:focus::placeholder ( color: white; )

IN Prehliadač Google Farba popisku Chrome pri zaostrení na takéto pole sa plynule zmení v priebehu jednej sekundy.

Atribút zástupného symbolu sa používa na vytváranie popisov v prázdnych vstupných poliach (značky A