Úvodná » Vzhľad stránky » Vytvorenie hojdacieho vyhľadávacieho poľa CSS3

    Vytvorenie hojdacieho vyhľadávacieho poľa CSS3

    Tento článok je súčasťou nášho "HTML5 / CSS3 Tutoriály séria" - ktorá vám pomôže urobiť z vás lepšieho dizajnéra a / alebo vývojára. Kliknite tu zobraziť ďalšie články z rovnakej série.

    CSS3 je jazyk štýlov prvej generácie. Predstavuje množstvo nových a zaujímavých funkcií, ako sú tiene, animácie, prechody, polomer okrajov atď. Aj keď špecifikácie ešte neboli dokončené, mnohí výrobcovia prehliadačov už začali podporovať mnoho nových funkcií.

    V tomto výučbe budeme skúmať niektoré z týchto funkcií, ako napríklad text-shadow, border-radius, box tiene a prechodov na vytvorenie hojdacieho vyhľadávacieho poľa.

    Verzia tohto vyhľadávacieho poľa od spoločnosti Photoshop bola vytvorená spoločnosťou Alvin Thong a môže byť stiahnutá z tohto miesta. Pokúsil som sa obnoviť toto vyhľadávacie pole pomocou čistého CSS3. Treba poznamenať, že nie všetky prehliadače podporujú funkcie CSS3 a vyskúšať si tento tutoriál, mali by ste použiť jeden z moderných prehliadačov, ktoré podporujú funkcie CSS 3.

    Pripravený? Začnime!

    1. HTML5 Doctype

    Začneme s označením HTML. Je to veľmi jednoduché, po HTML5 doctype a deklarácia, máme

    s identifikáciou ID #wrapper vnútri . Toto sa jednoducho definuje šírkou rámčeka obsah a zarovná sa so stredom stránky.

    Nasleduje a

    s identifikáciou ID #hlavné. Tento identifikátor obsahuje štýly, ktoré definujú veľké biele pole okolo vstupného poľa a tlačidlo vyhľadávania. toto
    deklarované vnútri. Formulár má pole pre zadávanie textu a sTlačidlo prehľadu. Tu je spôsob, ako vyzerá formulár bez toho, aby na ňu boli použité žiadne štýly:

    Tu je kód, ako vyzerá takto:

       Pole vyhľadávania CSS3   

    Pole vyhľadávania CSS3

    2. Vytvorenie ohraničenia

    Ak chcete vytvoriť veľké pole okolo formulára, pridáme štýly do

    s ID #hlavné. Z nižšie uvedeného kódu si všimnete, že v poli bolo priradené šírka 400 pixelov a výška 50 pixlov.

     #main šírka: 400px; výška: 50px; pozadie: # f2f2f2; polstrovanie: 6px 10px; hranica: 1px solid # b5b5b5; -moz-okraj-polomer: 5px; -webkit-border-radius: 5px; polomer okrajov: 5 pixlov; -moz-box-tieň: vložka 0 0 3px rgba (255, 255, 255, 0.8), vložka 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 # ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; -webkit-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.8), vložka 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 # ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; box-tieň: vložka 0 0 3px rgba (255, 255, 255, 0.8), vložka 0 2px 2px rgba (255, 255, 255, 1) 0 0px 0 # 989898, 0 13px 0 # dfdede;  

    Dôležitým kódom tu je border-radius vyhlásenie a box-shadow vyhlásenia. Na vytvorenie zaoblených rohov sme použili deklaráciu okraja polomeru CSS3, predpony prehliadača "-moz-" a "-webkit-" boli použité, aby sa zabezpečilo, že to funguje v prehliadačoch gecko a webkit. Tieňové deklarácie boxov môžu vyzerať trochu mätúce, ale v skutočnosti sú veľmi jednoduché.

     box-tieň: vložka 0 0 3px rgba (255, 255, 255, 0.8), vložka 0 2px 2px rgba (255, 255, 255, 1) 0 0px 0 # 989898, 0 13px 0 # dfdede; 

    vysvetlenie: Tu vložka kľúčového slova určuje, či sa tieň nachádza vo vnútri poľa. Prvé dve nuly označujú x-offset a y-offset a 3px označujú rozmazanie. Ďalej je deklarácia farieb. Použil som tu hodnoty rgba; rgba znamená červenú zelenú modrú a alfa (opacita). Preto 4 hodnoty v zátvorke označujú množstvo červenej, zelenej, modrej a jej alfa (opacita). Zistíte, že 5 sád stínových vyhlásení bolo spojených dohromady. Môžete to urobiť tak, že ich oddeľujete čiarkou. Prvé dva tiene vymedzujú biely efekt "vnútornej žiarivky" a nasledujúce deklarácie dávajú krabici svoj pevný / hrubý vzhľad.

    Hrať si s týmito hodnotami, aby ste pochopili, ako to funguje.

    Náhľad

    3. Styling vstupného poľa

    Teraz, keď je krabica dokončená, prejdite na štýl vstupného poľa.

     vstup [typ = "text"] float: vľavo; šírka: 230 pixlov; polstrovanie: 15px 5px 5px 5px; margin-top: 5px; margin-left: 3px; hranica: 1px masívna # 999999; -moz-okraj-polomer: 5px; -webkit-border-radius: 5px; polomer okrajov: 5 pixlov; -moz-box-tieň: vložka 0 5px 0 #ccc, vložka 0 6px 0 # 989898, vložka 0 13px 0 #dfdede; -webkit-box-shadow: vložka 0 5px 0 #ccc, vložka 0 6px 0 # 989898, vložiť 0 13px 0 #dfdede; box-tieň: vložiť 0 5px 0 # ccc, vložiť 0 6px 0 # 989898, vložiť 0 13px 0 #dfdede;  

    Štýly deklarované pre vstupné pole sú celkom podobné tým, ktoré boli rozdelené do veľkej krabice #hlavné. Použili sme rovnaký polomer okrajov (5px). Znova bolo niekoľko box-tieňových klubov.

     box-tieň: vložiť 0 5px 0 # ccc, vložiť 0 6px 0 # 989898, vložiť 0 13px 0 #dfdede; 

    vysvetlenie: Všimnete si, že tentoraz sa stínové rozostrenie udržalo na hodnote 0, aby sa získal ostrý tieň a použije sa vertikálny posun 5px. V postupných vyhláseniach sa rozmazanie udržalo na hodnote 0px, ale farba a y-offset boli zmenené. Opäť hrajte s týmito hodnotami, aby ste získali rôzne výsledky.

    Náhľad

    4. Štýl tlačidla na odoslanie

    Stlačte tlačidlo vyhľadávania.

     zadajte type = "submit"] solid float: left; kurzor: ukazovateľ; šírka: 130px; polstrovanie: 8px 6px; margin-left: 20px; farba pozadia: # f8b838; farba: rgba (134, 79, 11, 0,8); textová transformácia: veľké; font-weight: tučné; hranica: 1px pevná # 99631d; -moz-okraj-polomer: 5px; -webkit-border-radius: 5px; polomer okrajov: 5 pixlov; textový tieň: 0 1px 2px rgba (255, 255, 255, 0.7), 0 -1px 0 rgba (64, 38, 5, 0.9); -moz-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0px 0 # 593a11, 0 13px 0 #ccc; box-tieň: vložiť 0 0 3px rgba (255, 255, 255, 0.6), vložiť 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, ccc; -webkit-transition: background 0.2s ease-out;  

    Okrem farieb má tlačidlo vyhľadávania prevažne rovnaké štýly ako tlačiareň. Na tlačidle sa použili podobné okraje okrajov a tieňov. Nová funkcia bola zavedená text-shadow.

     textový tieň: 0 1px 2px rgba (255, 255, 255, 0.7), 0 -1px 0 rgba (64, 38, 5, 0.9); 

    vysvetlenie: V text-shadow prvé tri číselné hodnoty sú x-offset, y-offset a rozostrenie. Hodnoty rgba označujú farbu tieňa. V ďalšej sade deklarácie (oddelenej čiarkou) je hodnota posunu y daná hodnotou -1. Toto je vykonané tak, aby text bol a “vnútorný tieň” účinok. Stav presúvania / zaostrovania tlačidla Odoslať má rôzne hodnoty farby pozadia a tiene.

    Náhľad

    "Aktívny" stav pre tlačidlo

    Aktívny stav tlačidla má o niečo viac zmien. V tomto bode som dal tlačidlu absolútnu pozíciu a "najvyššiu" hodnotu 5px. To bolo urobené, aby sa prirodzenejší vzhľad, takže to cíti, že tlačidlo bolo skutočne tlačil o 5 pixelov. Ďalšie zmeny aktívneho stavu sú farby pozadia a tieň. Všimnite si, že som zmenšil y-offset tieňov, aby som získal "stlačený" vzhľad. Tu je kód pre aktívny stav tlačidla na odoslanie:

     vstupné [typ = "odoslať"] solid: active background: # f6a000; pozícia: relatívna; top: 5px; hranica: 1px pevná # 702d00; -moz-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; -webkit-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; box-tieň: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, ccc;  

    Kompletný (CSS) kód

    Toto dokončí naše vyhľadávacie pole. Použili sme niekoľko nových funkcií CSS3. Tu je kompletný CSS a HTML tohto vyhľadávacieho poľa.

     #main šírka: 400px; výška: 50px; pozadie: # f2f2f2; polstrovanie: 6px 10px; hranica: 1px solid # b5b5b5; -moz-okraj-polomer: 5px; -webkit-border-radius: 5px; polomer okrajov: 5 pixlov; -moz-box-tieň: vložka 0 0 3px rgba (255, 255, 255, 0.8), vložka 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 # ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; -webkit-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.8), vložka 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 # ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; box-tieň: vložka 0 0 3px rgba (255, 255, 255, 0.8), vložka 0 2px 2px rgba (255, 255, 255, 1) 0 0px 0 # 989898, 0 13px 0 # dfdede;  vstup [typ = "text"] float: vľavo; šírka: 230 pixlov; polstrovanie: 15px 5px 5px 5px; margin-top: 5px; margin-left: 3px; hranica: 1px masívna # 999999; -moz-okraj-polomer: 5px; -webkit-border-radius: 5px; polomer okrajov: 5 pixlov; -moz-box-tieň: vložka 0 5px 0 #ccc, vložka 0 6px 0 # 989898, vložka 0 13px 0 #dfdede; -webkit-box-shadow: vložka 0 5px 0 #ccc, vložka 0 6px 0 # 989898, vložiť 0 13px 0 #dfdede; box-tieň: vložiť 0 5px 0 # ccc, vložiť 0 6px 0 # 989898, vložiť 0 13px 0 #dfdede;  zadajte [type = "submit"] solid float: left; kurzor: ukazovateľ; šírka: 130px; polstrovanie: 8px 6px; margin-left: 20px; farba pozadia: # f8b838; farba: rgba (134, 79, 11, 0,8); textová transformácia: veľké; font-weight: tučné; hranica: 1px pevná # 99631d; -moz-okraj-polomer: 5px; -webkit-border-radius: 5px; polomer okrajov: 5 pixlov; textový tieň: 0 1px 2px rgba (255, 255, 255, 0.7), 0 -1px 0 rgba (64, 38, 5, 0.9); -moz-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0px 0 # 593a11, 0 13px 0 #ccc; box-tieň: vložiť 0 0 3px rgba (255, 255, 255, 0.6), vložiť 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, ccc; -webkit-transition: background 0.2s ease-out;  zadajte [type = "submit"] solid: hover, zadajte [type = "submit"] solid: focus background: # ffd842; -moz-box-tieň: vložka 0 0 3px rgba (255, 255, 255, 0.9), vložka 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.9), vložka 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-tieň: vložka 0 0 3px rgba (255, 255, 255, 0.9), vložka 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 # ccc;  vstupné [typ = "odoslať"] solid: active background: # f6a000; pozícia: relatívna; top: 5px; hranica: 1px pevná # 702d00; -moz-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; -webkit-box-shadow: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; box-tieň: vložka 0 0 3px rgba (255, 255, 255, 0.6), vložka 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, ccc;  

    Dúfam, že ste si tento tutoriál užili. Neváhajte experimentovať s týmito funkciami a nezabudnite zdieľať svoje myšlienky.

    Poznámka redaktora: Tento príspevok je napísaný používateľom Bharani M pre Hongkiat.com. Bharani je dizajnér / developer z New Delhi v Indii.

    © Savtec
    Užitočné informácie a tipy na vývoj webových aplikácií. Programovanie, webdesign, CSS, HTML, JAVASCRIPT. Nakonfigurujte a preinštalujte Windows. Tvorba webov a aplikácií od nuly.