Krásny vyhľadávací formulár v css3. Vývoj krásneho vyhľadávacieho formulára pomocou CSS3. Čo stratíme pri navrhovaní tohto formulára pomocou HTML5 a CSS3?

Jedným z najčastejšie používaných prvkov každej webovej stránky je vyhľadávací formulár. Ak chcete zvýšiť úroveň jednoduchosti používania na svojich stránkach a výrazne uľahčiť proces hľadania správneho materiálu, mali by ste vážne začať s vývojom vyhľadávacieho formulára.

Dnes vám teda chceme povedať o navrhovaní vyhľadávacieho formulára pomocou vlastností CSS3.

V minulosti ste už určite našli návody ako navrhnúť vyhľadávací formulár v CSS3, no dnes vám chceme ponúknuť trochu inú možnosť – vyhľadávací formulár s 3D efektom implementovaný pomocou parametra box-shadow.

Označovanie

Nižšie môžete vidieť HTML kód použitý na vývoj tohto formulára. Upozorňujeme, že náš výplň bol vyvinutý pomocou HTML5 a použili sme všetky potrebné atribúty.

Najprv sme chceli použiť type="search" zavedený v HTML5, ale potom sme zmenili názor kvôli nekompatibilite s mnohými modernými prehliadačmi. Teraz budeme musieť pridať pár riadkov kódu CSS navyše, aby sme prepísali pôvodné hodnoty.





CSS kód

Poďme sa pozrieť na minimálne štýly použité na vytvorenie krásneho vyhľadávacieho formulára CSS3:

Form-wrapper(
šírka: 450px;
výplň: 8px;
okraj: 100px automaticky;
prepad: skrytý;
border-width: 1px;
okrajový štýl: pevný;
border-color: #dedede #bababa #aaa #bababa;
-moz-box-shadow: 0 3px 3px rgba(255,255,255,.1), 0 3px 0 #bbb, 0 4px 0 #aaa, 0 5px 5px #444;
-webkit-box-shadow: 0 3px 3px rgba(255,255,255,.1), 0 3px 0 #bbb, 0 4px 0 #aaa, 0 5px 5px #444;
box-shadow: 0 3px 3px rgba(255,255,255,.1), 0 3px 0 #bbb, 0 4px 0 #aaa, 0 5px 5px #444;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
farba pozadia: #f6f6f6;
background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#eae8e8));
background-image: -webkit-linear-gradient(top, #f6f6f6, #eae8e8);
background-image: -moz-linear-gradient(top, #f6f6f6, #eae8e8);
background-image: -ms-linear-gradient(top, #f6f6f6, #eae8e8);
background-image: -o-linear-gradient(top, #f6f6f6, #eae8e8);
background-image: linear-gradient(top, #f6f6f6, #eae8e8);
}

Form-wrapper #search (
šírka: 330px;
výška: 20px;
padding: 10px 5px;
plavák: vľavo;
písmo: tučné 16px "lucida sans", "trebuchet MS", "Tahoma";
orámovanie: 1px plný #ccc;
-moz-box-shadow: 0 1px 1px #ddd inset, 0 1px 0 #fff;
-webkit-box-shadow: 0 1px 1px #ddd inset, 0 1px 0 #fff;
box-shadow: 0 1px 1px #ddd inset, 0 1px 0 #fff;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}

Form-wrapper #search:focus (
obrys: 0;
border-color: #aaa;
-moz-box-shadow: 0 1px 1px #bbb inset;
-webkit-box-shadow: 0 1px 1px #bbb inset;
box-shadow: 0 1px 1px #bbb inset;
}

Form-wrapper #search::-webkit-input-placeholder (
farba: #999;
font-weight: normal;
}

Form-wrapper #search:-moz-placeholder (
farba: #999;
font-weight: normal;
}

Form-wrapper #search:-ms-input-placeholder (
farba: #999;
font-weight: normal;
}

Form-wrapper #submit (
plavák: vpravo;
orámovanie: 1px plný #00748f;
výška: 42px;
šírka: 100px;
výplň: 0;
kurzor: ukazovateľ;
font: bold 15px Arial, Helvetica;
farba: #fafafa;
text-transform: veľké písmená;
farba pozadia: #0483a0;
background-image: -webkit-gradient(linear, left top, left bottom, from(#31b2c3), to(#0483a0));
background-image: -webkit-linear-gradient(top, #31b2c3, #0483a0);
background-image: -moz-linear-gradient(top, #31b2c3, #0483a0);
background-image: -ms-linear-gradient(top, #31b2c3, #0483a0);
background-image: -o-linear-gradient(top, #31b2c3, #0483a0);
background-image: linear-gradient(top, #31b2c3, #0483a0);
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
text-shadow: 0 1px 0 rgba(0, 0 ,0, .3);
-moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0,3) vložka, 0 1px 0 #fff;
-webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0,3) inset, 0 1px 0 #fff;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0,3) inset, 0 1px 0 #fff;
}

Form-wrapper #submit:hover,
.form-wrapper #submit:focus (
farba pozadia: #31b2c3;
background-image: -webkit-gradient(linear, left top, left bottom, from(#0483a0), to(#31b2c3));
background-image: -webkit-linear-gradient(top, #0483a0, #31b2c3);
background-image: -moz-linear-gradient(top, #0483a0, #31b2c3);
background-image: -ms-linear-gradient(top, #0483a0, #31b2c3);
background-image: -o-linear-gradient(top, #0483a0, #31b2c3);
background-image: linear-gradient(top, #0483a0, #31b2c3);
}

Form-wrapper #submit:active (
obrys: 0;
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0,5) inset;
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0,5) inset;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0,5) inset;
}

Form-wrapper #submit::-moz-focus-inner (
ohraničenie: 0;
}
Podpora prehliadača

Nižšie môžete vidieť niekoľko snímok obrazovky zobrazujúcich náš vyhľadávací formulár. Mali by ste si uvedomiť, že sa správa dobre aj vtedy, ak je stránka otvorená v staršej verzii prehliadača. Chcel by som tiež dodať, že tento vyhľadávací formulár CSS3 je úplne pripravený na použitie.

Moderné prehliadače Chrome, Firefox, Safari, Opera, IE10:


Upozorňujeme, že Opera v súčasnosti podporuje atribút zástupného symbolu v HTML5, ale nedá sa upraviť.

Dobrou správou je, že IE10 podporuje aj HTML5 filler.

Predchádzajúce verzie IE (6/7/8):


*

Na záver

Ak ste čítali naše predchádzajúce články, tak pravdepodobne viete, že tu vyvíjame fungujúce aplikácie (s rollback verziami aj bez nich) pre všetky prehliadače. A tento príklad nie je výnimkou.

Okrem použitia formulára CSS3 na vytvorenie vyhľadávacieho bloku ho môžete jednoducho prispôsobiť na vytvorenie autorizačného formulára alebo formulára predplatného.

Vyhľadávacie pole je pravdepodobne jedným z bežných prvkov používateľského rozhrania. Pri práci na úrovni pohodlia rozhrania veľmi často existuje túžba pridať štýlové vyhľadávacie pole. V tomto návode vytvoríme taký populárny prvok pomocou pseudoprvkov.

HTML značenie

Na prípravu takéhoto poľa bude označenie minimálne.

Tu sa používa špeciálny zástupný symbol HTML5 a povinné atribúty:

  • zástupný symbol- tento atribút určuje, že text sa zobrazí v poli predtým, ako sa pole zameria na vstup, potom sa text skryje.
  • požadovaný- tento atribút určuje povinnú podmienku pre prítomnosť informácie vo vstupnom poli pred odoslaním formulára.

HTML5 má tiež nový význam pre atribút type: type="search" . V prehliadačoch je však slabo podporovaný, takže ho zatiaľ nebudeme používať.

Prvky HTML ako img a input nemajú žiadny obsah. Preto pseudoprvok ako:before nebude zobrazovať žiadne šípky pre tlačidlo.

Riešením tohto problému v našom prípade je použitie tlačidla type="submit" namiesto input type="submit" . Takto udržíme formulár pomocou klávesu ENTER.

CSS

Nižšie sú uvedené štýly potrebné pre našu demonštráciu:

Zrušiť zalamovanie textu

Cf:before, .cf:after( content:""; display:table; ) .cf:after( clear:both; ) .cf( zoom:1; )

Formulárové prvky

Pre lepšiu prehľadnosť nie sú v kóde zobrazené predpony prehliadača. Celý kód si môžete pozrieť v zdrojovom texte.

/* Štýly pre kontajner formulára */ .form-wrapper ( šírka: 450px; padding: 15px; margin: 150px auto 50px auto; pozadie: #444; pozadie: rgba(0,0,0,.2); border- polomer : 10px box-shadow: 0 1px 1px rgba(0,0,0,.4) inset, 0 1px 0 rgba(255,255,255,.2) /* Štýly zadávania textu */ .form-wrapper input ( width : 330px) ; výplň: 10px 5px; bold 15px "trebuchet MS"; border-radius: 3px 0 0 3px ) .form-wrapper input:focus ( obrys: 0; pozadie: #fff; box-shadow: 0 0 2px rgba(0,0,0,.8) inset; ) .form-wrapper input::-webkit -input-placeholder ( color: #999; font-weight: normal; font-style: italic; ) . form-wrapper input:-moz-placeholder ( farba: #999; font-weight: normal; font-style: italic ; ) .form-wrapper input:-ms-input-placeholder ( color: #999; font-weight: normal font-style: italic; ohraničenie: 0; výplň: 0; kurzor: ukazovateľ; výška: 40px; šírka: 110px; písmo: tučné 15px/40px "lucida sans", "trebuchet MS", "Tahoma"; farba: #fff; text-transform: veľké písmená; pozadie: #d83c3c; border-radius: 0 3px 3px 0; text-shadow: 0 -1px 0 rgba(0, 0 ,0, .3); ) .form-wrapper button:hover( background: #e54040; ) .form-wrapper button:active, .form-wrapper button:focus( background: #c42f2f; obrys: 0; ) .form-wrapper button:before ( / * šípka doľava */ obsah: ""; šírka-okraja: 8px 8px 0; border-right-color: #e54040; ) .form-wrapper button:focus:before, .form-wrapper button:active:before( border-right-color: #c42f2f; ) .form-wrapper button::-moz- focus-inner ( /* Odstránenie nadbytočného priestoru vedľa tlačidla v prehliadači Mozilla Firefox */ border: 0; padding: 0; )

Vyhľadávacie pole pre danú lokalitu je jedným z najdôležitejších prvkov používateľského rozhrania na webovej stránke. S jeho pomocou môže používateľ nájsť požadovaný obsah na vašej stránke.

V tomto návode sa naučíte, ako vytvoriť označenie vyhľadávacieho poľa pomocou HTML5, ako aj ako štýlovať prvky formulára pomocou sily CSS3 bez použitia skriptov.

1. Značenie HTML

Element

je kontajner pre vyhľadávací formulár, vyhľadávacie pole je vytvorené pomocou prvku alebo a pomocou prvku možno vytvoriť tlačidlo na odoslanie údajov na server alebo
* (veľkosť poľa: border-box;) forma ( poloha: relatívna; šírka: 300px; okraj: 0 auto; ) vstup (šírka: 100%; výška: 42px; padding-left: 10px; orámovanie: 2px plné #7BA7AB ; okraj-polomer: 5px; farba: #9E9C9C; ) tlačidlo (pozícia: absolútna; hore: 0; šírka: 42px; okraj: žiadny; pozadie: #7BA7AB; okraj-polomer: 0 5px; 5px 0; kurzor: ukazovateľ; ) button:before ( content: "\f002"; font-family: FontAwesome; font-size: 16px; color: #F9F0DA; )

3. Vyhľadávacie pole s tlačidlom vo vnútri

* (veľkosť poľa: border-box;) formulár ( poloha: relatívna; šírka: 300px; okraj: 0 auto; ) vstup, tlačidlo ( orámovanie: žiadne; obrys: žiadne; polomer okraja: 3px; ) vstup ( šírka: 100 %; výška: 42px; pozadie: #F9F0DA; vľavo: 15px : tučné;

4. Vyhľadávacie pole v „plochom“ štýle

* (veľkosť poľa: border-box;) formulár ( poloha: relatívna; šírka: 300px; okraj: 0 auto; pozadie: #A3D0C3; ) vstup, tlačidlo ( orámovanie: žiadne; obrys: žiadne; pozadie: priehľadné; ) vstup ( šírka: 100 %; výška: 42px; padding-left: 15px; ) button ( výška: 42px; šírka: 42px; pozícia: absolútna; hore: 0; vpravo: 0; kurzor: ukazovateľ; ) button:before ( obsah: "\f002"; font-family: FontAwesome: 16px;

5. Vyhľadávacie pole s hrubým spodným okrajom

* (veľkosť rámčeka: border-box;) forma ( poloha: relatívna; šírka: 300px; okraj: 0 auto; pozadie: #F9F0DA; okraj-dole: 4px plné #be290e; ) vstup, tlačidlo ( orámovanie: žiadne; obrys : žiadne; pozadie: priehľadné; vstup ( šírka: 100 %; výška: 42 pixelov; ľavé odsadenie: 15 pixelov; ) tlačidlo ( výška: 42 pixelov; šírka: 42 pixelov; pozícia: absolútna; hore: 0; vpravo: 0; kurzor: pointer; ) button:before ( content: "\f178"; font-family: FontAwesome; font-size: 20px; color: #be290e; )

6. Vyhľadávacie pole s meniacou sa farbou orámovania

* (veľkosť poľa: border-box;) formulár ( pozícia: relatívna; šírka: 300px; okraj: 0 automaticky; ) vstup, tlačidlo ( obrys: žiadny; pozadie: priehľadné; ) vstup ( šírka: 100 %; výška: 42px ; padding-left: 15px; orámovanie: 3px plné #F9F0DA; ) tlačidlo ( orámovanie: žiadne; výška: 42px; šírka: 42px; pozícia: absolútna; hore: 0; pravý: 0; kurzor: ukazovateľ; ) tlačidlo:pred ( obsah: "\f002"; FontAwesome: 16px farba: #F9F0DA;

7. Vysúvacie pole vyhľadávania

Vyhľadávacie pole sa zobrazí po kliknutí na tlačidlo s ikonou.

* (veľkosť poľa: border-box;) forma ( poloha: relatívna; šírka: 300px; okraj: 0 auto; výška: 42px; ) vstup (výška: 42px; šírka: 0; odsadenie: 0 42px 0 15px; okraj: none; border-bottom: 2px solid transparent background: .4s cubic-bezier(0, 0.8, 0, 1 ) input:focus ( width: 300px; z-index: 1; border-bottom: 2px); plné #F9F0DA; ) tlačidlo ( pozadie: #683B4D; orámovanie: žiadne; výška: 42px; šírka: 42px; pozícia: absolútna ; hore: 0; vpravo: 0; kurzor: ukazovateľ; ) tlačidlo:pred ( obsah: "\f002 "; font-family: FontAwesome; font-size: 16px; color: #F9F0DA; )

8. Rozšírenie vyhľadávacieho poľa

* (veľkosť poľa: border-box;) forma ( šírka: auto; float: right; margin-right: 30px; ) input ( šírka: 250px; výška: 42px; padding-left: 15px; border-radius: 42px; ohraničenie: 2px plné: žiadne;

Bol som kritizovaný, že rozloženie je nanič, ale existujú moderné HTML5 a CSS3.

Samozrejme, chápem, najnovšie štandardy sú cool a tak ďalej. Faktom však je, že spravidla robím rozloženia na objednávku a vo väčšine prípadov je dôležitá úplná identita v rôznych prehliadačoch, čo neumožňuje použitie najnovších technológií. Preto sa zameriavam predovšetkým na kompatibilitu medzi prehliadačmi a zo zvyku som vyhľadávací formulár rozložil „po starom“.

Vo všeobecnosti týmto príspevkom opravujem situáciu (pre nespokojných s predchádzajúcim článkom =) a ponúkam vlastnú verziu rozloženia toho istého vyhľadávacieho formulára, ale s využitím technológií HTML5 a CSS3.

K dispozícii je príklad toho, čo sa stane v dôsledku toho.

Čo stratíme pri navrhovaní tohto formulára pomocou HTML5 a CSS3?

  1. IE9 a nižšie – neuvidíme predvolený text (atribút zástupného symbolu).
  2. IE8 a nižšie - neuvidíme zaoblené rohy a vnútorné tiene.
  3. IE7 - musíte preň zadať inú šírku formulára, pretože... nepodporuje vlastnosť box-sizing.
  4. IE6 - ale to vôbec neberieme do úvahy =)

V iných moderných prehliadačoch je všetko v poriadku. Verím, že vyššie uvedené nevýhody nie sú kritické, preto by som pre moju stránku pokojne použil formulár navrhnutý s využitím najnovších technológií.

HTML kód vyhľadávacieho formulára

Vyzerá to takto:

Oproti formuláru z predchádzajúceho článku sú v súlade s technológiou HTML5 vykonané tieto zmeny:

  1. Atribút type="text" bol nahradený atribútom type="search" .
  2. Vložený skript bol nahradený zástupným symbolom="search" .!}

CSS kód

Tu sú všetky potrebné štýly s komentármi:

Hľadať ( /* nastaviť požadovanú šírku formulára v závislosti od dizajnu ** formulár sa bez problémov natiahne */ šírka: 35%; /* tlačidlo odoslať umiestnime absolútne, ** preto je táto vlastnosť nevyhnutná */ poloha: relatívny ) .vyhľadávací vstup ( /* zakázať orámovanie pre vstupy */ border: none; ) /* štýly pre vstupné pole */ .search .input ( /* roztiahnuť vstupné pole na celú šírku formulára */ šírka : 100 % /* kvôli hornej (8px) a spodnej (9px) vnútornej výplni ** upravte výšku formulára ** zväčšite vnútornú výplň vpravo (37px) ako ľavú, ** pretože tam bude umiestnené tlačidlo odoslania */ padding: 8px 37px 9px 15px /* tak, aby šírka vstupného poľa (100%) zahŕňala vnútornú výplň */ -moz-box-sizing: border-box: border; -box /* pridať vnútorné tiene */ box-shadow: inset 0 0 5px rgba(0,0 ,0,0.1), inset 0 1px 2px rgba(0,0,0,0.3); / border-radius: 20px font: 13px Tahoma, Arial, bezpätková farba : #555; obrys: žiadny; ) /* zmeniť dizajn vstupného poľa pri zameraní */ .search .input:focus ( box-shadow: inset 0 0 5px rgba(0,0,0,0.2), inset 0 1px 2px rgba(0,0, 0,0.4 ); pozadie: #E8E8E8; farba: #333; ) /* navrhni tlačidlo odoslania */ .vyhľadaj .odoslať ( /* umiestnite tlačidlo úplne od pravého okraja formulára */ poloha: absolútna; hore: 0 vpravo: 37px /* roztiahnutie tlacidla na plnú výšku formulára */ výška: 100 % ; ) /* pri umiestnení kurzora zmeníme priehľadnosť tlačidla Odoslať */ .search .submit:hover ( opacity: 0.8; ) /* táto vlastnosť je potrebná na to, aby ste v prehliadačoch ** Chrome a Safari mohli štylizovať vstupy */ input ( -webkit-appearance: none; )

A štýly pre IE pod verziou 9:

/* nastavenie samostatných štýlov pre prehliadače IE pod verziou 9 */ *+html .search ( /* pre IE7 upravte šírku pre iné prehliadače a pridajte pravú ** výplň, aby bolo tlačidlo Odoslať na svojom mieste */ šírka: 28 % ; padding: 0 52px 0 0; .search .input ( border: 1px solid #DFDFDF; border-top: 1px solid #B3B3B3; padding-top: 7px; padding-bottom: 8px; ) .search .input: focus ( border: 1px solid #CFCFCF; border-top: 1px solid #999; .search .submit ( filter: alpha(opacity=50); ) .search .submit:hover ( filter: alpha(opacity=80); )

P.S.Ďakujeme kritikom za komentáre k predchádzajúcemu článku! Vďaka vám mi v hlave utkveli nové body rozloženia.

Článok popisuje funkcie rozloženia vyhľadávacieho formulára na stránke, poskytuje príklad označenia sémantického kódu, dizajn v CSS3 a na záver malú mágiu jQuery.

  • Označovanie

    Pred príchodom HTML5 sa z vyhľadávacieho formulára stalo bežné textové pole s postupným nástupom novej verzie značkovacieho jazyka do našich životov, objavil sa preň špeciálny typ vyhľadávacieho poľa. Takže v HTML kóde modernej webovej stránky môžeme vidieť niečo takéto:

    Výsledok kódu v FF, Opera, IE9:

    A je to trochu iné v prehliadačoch založených na jadre webkitu (Chrome, Safari):

    Vyhľadávacie pole vo webovej súprave

    Ako vidíte, keď sa zameriate na pole, pridá sa zvýraznenie a keď zadáte text, po kliknutí naň sa zobrazí jasné tlačidlo, obsah poľa sa vymaže, čo je samo o sebe celkom pohodlné.

    Bez CSS štýlu vyzerá náš vyhľadávací formulár zatiaľ celkom jednoducho, v tomto článku sa pokúsime urobiť niečo takéto:

    Napríklad: rozloženie vyhľadávacieho formulára

    Ak sa neplánuje podpora starších prehliadačov, prázdny nesémantický prvok

    možno nahradiť pseudoprvkom:pred .

    Vlastnosti dizajnu vyhľadávacieho formulára

    Keďže som sa rozhodol použiť pomerne veľa vlastností CSS3, tieto zázraky nebudú fungovať v starších prehliadačoch Internet Explorer a na dosiahnutie kompatibility medzi prehliadačmi je potrebné pripojiť barličky, urobiť niečo s obrázkami atď.

    V prvom rade by som chcel upozorniť na niektoré funkcie, a to:

    • štylizácia v prehliadačoch založených na jadre webkitu
    • štýl zástupného symbolu

    Štýly vyhľadávacích formulárov v prehliadačoch Chrome a Safari

    Pridajme nejaký štýl do poľa s triedou .search:

    Hľadať ( pozadie: #d8e6ef; okraj: 1px plný #000; )

    Výsledok na snímke obrazovky:

    Hľadajte v prehliadačoch FF, Opera, Chrome a Safari

    Ako to už býva, v prehliadačoch je zaváhanie a zmätok, v Chrome funguje ohraničenie akosi zvláštne (okraje sa objavujú, akoby sme nastavovali padding), Safari pravidlá úplne ignoruje. Existuje však riešenie tejto situácie, pridajte do kódu CSS nasledujúce pravidlo:

    Hľadať ( -webkit-appearance: none; )

    Teraz je vo webkite všetko normálne, ale stále sa líšia v predvolenom zvýraznení polí pri zameraní a tlačidlom vymazať. Tieto prvky, hoci sú často pohodlné, môžu niekedy pokaziť zámer návrhu a je potrebné ich deaktivovať. Odstránenie podsvietenia je veľmi jednoduché:

    Search:focus ( obrys: žiadny; /* odstránené zvýraznenie zamerania */ -moz-box-shadow: inset 0 0 2px #000; -o-box-shadow: inset 0 0 2px #000; -webkit-box-shadow : inset 0 0 2px #000: inset 0 0 2px #000 /* pridaný vnútorný tieň ako alternatíva pre všetky prehliadače */ )

    Zostáva len zbaviť sa tlačidla clear. V skutočnosti sa dá ľahko štylizovať nahradením jednoduchého kríža nejakým druhom pozadia, jeho umiestnením atď., Ale v mojom príklade to nebude potrebné:

    /* pravidlo len pre prvok s triedou vyhľadávania */ .search::-webkit-search-cancel-button ( display: none; /* odstránené tlačidlo vymazať */ ) /* alebo pre všetky polia s typom vyhľadávania dokument */ input ::-webkit-search-cancel-button (zobraziť: žiadne; )

    Návrh zástupného symbolu pre popis textu

    Bohužiaľ, s textovým náznakom je všetko trochu komplikovanejšie, ako sa na prvý pohľad zdá. Po prvé, nefunguje v IE9, nehovoriac o starších prehliadačoch, takže na kritických miestach, kde je nejaký text v poli absolútne nevyhnutný, by ste mali použiť JavaScript. Po druhé, zástupný symbol je zle navrhnutý v prehliadačoch Firefox, Chrome, Safari a vôbec nie je vhodný pre Opera:

    :-moz-placeholder ( farba: #304e62; /* zmenila farbu v FF */ ) ::-webkit-input-placeholder ( farba: #304e62; /* zmenila farbu vo webkite */ )

    Upozorňujeme, že tieto selektory nebudú fungovať, ak sú uvedené oddelené čiarkami, každý musí začínať na novom riadku.

    Zvážil som zvláštne momenty, v ktorých by mohli nastať ťažkosti, zvyšok dielu by nemal robiť problémy viac či menej skúsenému dizajnérovi rozloženia.

    skripty jQuery

    Nakoniec do nášho formulára pridáme niekoľko skriptov, konkrétne:

    • požiadavku zrušíme a pri odoslaní prázdneho poľa zobrazíme chybové hlásenie
    • pri zameraní poľa pridáme v spodnej časti malý tooltip

    Je veľmi ľahké to všetko implementovať pomocou sily jQ, mám nasledujúci kód s komentármi:

    $(function() ( /* spracuje odoslanie formulára */ $(".search-form").submit(function() ( var errVal = "empty request"; /* Ak je pole prázdne alebo obsahuje hodnotu errVal */ if( $(".search").val() == "" || $(".search").val() == errVal) ( /* pridať errVal do poľa, zmeniť farbu pozadia a */ $(" .search").val(errVal).css((backgroundColor: "rgba(0,0,0,.1)") /* return false - formulár sa neodošle */ return false )); ; this).val("").css((backgroundColor : "#d8e6ef") /* zobraziť popis */ $(".notice").fadeIn(400 )); ".search").blur(function( ) ( /* odstránenie popisku */ $(".notice").fadeOut(400); ));

    Samozrejme, najlepšie je nahradiť triedy v skripte identifikátormi pre rýchlejšiu činnosť skriptu a aj keď sa v dokumente objavia iné prvky s rovnakými triedami, nenarušia činnosť skriptu.

    Výsledky

    Preto sme pre stránku navrhli a naprogramovali vyhľadávací formulár, ktorý funguje v najnovších verziách Firefox, Chrome, Opera, Safari a IE9+. Ak naozaj chcete, môžete vytvoriť viac-menej verziu pre rôzne prehliadače, počnúc IE6.

    Overené

    • Internet Explorer 9+
    • Opera
    • Firefox
    • Chrome
    • Safari

    Pomôžte projektu