Почетна » Цодинг » Направите ефекат слике само за ЦСС са транспарентним границама

    Направите ефекат слике само за ЦСС са транспарентним границама

    А ЦСС-само ефект откривања слике може се ријешити на различите начине. Заправо је прилично лако кодирати дизајн у којем је слика се издваја (прелетео је) његову солидну позадину -само ставите слику преко мањег елемента са солидном позадином.

    Исти резултат можете добити ако користите транспарентне границе, где држиш величина елемента позадине је иста као и предњи план и додајте транспарентне границе како би створите празан простор да би се први план пребацио у.

    Постоје неке предности у коришћењу ове друге методе. Пошто су то транспарентне границе које пружају простор за преливање у први план, можемо контролише смер преливања између леве, десне, горње и доње границе. Такође, имају исту величину и за предњи и за позадину олакшава истовремено померање оба елемента преко странице.

    Укратко, видећемо како направите ЦСС-ефекат само за откривање слике користећи мање чврсте позадине са предња слика која има транспарентне границе. Можете погледати финал демо испод.

    1. Креирајте почетни код

    ХТМЛ-висе, само један

    је потребно:

     

    У ЦСС-у користимо две ЦСС променљиве, --бгц и --замутити за боја позадине анд тхе димензије од .фоо контејнера. У примеру сам користио иста вредност за ширину и висину да би добили квадратну кутију, креирајте одвојене варијабле за висину и ширину ако желите правокутни.

    Такође додајемо позиција: релативна руле то .фоо, тако да ћемо користити његове псеудо-елементе откривајући слику, може бити апсолутно позициониран (види доле), и тако наслагани једни на друге.

     .фоо --бгц: # ФФЦЦ03; --дим: 300пк; видтх: вар (- дим); хеигхт: вар (- дим); бацкгроунд-цолор: вар (- бгц); позиција: релативна;  

    Ми додајте празно садржаја својство на оба псеудо-елемента, .фоо :: бефоре и .фоо :: афтер, да би их правилно приказали.

     .фоо :: бефоре, .фоо :: афтер цонтент: "; поситион: абсолуте; лефт: 0; топ: 0; 

    Тхе .фоо елемент, његова два псеудо-елемента, .фоо :: бефоре, .фоо :: афтер, И њихови :лебдети псеудо-класе набави прелаз својство та воља додајте једноставну транзицију за њих 500 милисекунди (пола секунде).

     .фоо, .фоо: ховер, .фоо :: бефоре, .фоо :: афтер, .фоо: ховер :: бефоре, .фоо: ховер :: афтер транситион: трансформација 500мс;  

    2. Додајте слику

    Додајемо слику .фоо :: бефоре псеудо-елемент као позадинску слику, и величину да покрије цео псеудо-елемент са видтх и хеигхт својства. Ми ставите га одмах испод .фоо елемент помоћу з-индекс: -1 правило.

     .фоо :: бефоре видтх: 100%; висина: 100%; бацкгроунд: урл (цамел.пнг) центар / омот; з-индекс: -1;  

    Тхе центар кључне речи центрира слику, док цовер кључна реч скалира слику на покрити цео елемент задржавајући његов омјер.

    На сцреенсхот белов можете видети шта смо до сада имали (з-индек је уклоњен из .фоо :: бефоре тако да се може видети):

    3. Додајте позадину која се помера

    Да бисте додали позадину иза слике, користићемо други псеудо-елемент, .фоо :: афтер.

    Креирамо другу ЦСС варијаблу, --б, за бордер видтх. Дајемо три транспарентне границе до ::после псеудо-елемент: горе, десно и дно.

     .фоо :: афтер --б: 20пк; видтх: цалц (100% - вар (- б)); висина: цалц (100% - цалц (вар (- б) * 2)); бордер: вар (- б) солид транспарент; граница-лијево: нема; бок-схадов: инсет 0 вар (- дим) 0 вар (- бгц); филтер: осветљеност (.8); з-индекс: -2;  

    Тхе видтх израчунава се као цалц (100% - вар - б)) који се враћа укупна ширина .фоо минус укупна ширина његових хоризонталних граница (само десна граница, пошто нема леве границе).

    Тхе хеигхт израчунава се као цалц (100% - цалц (вар (- б) * 2)) који се враћа укупне висине .фоо минус укупна ширина његових вертикалних граница (горња и доња граница).

    Са бок-схадов власништво, такође додајте хоризонталну уметнуту сенку исте величине као .фоо (која је вар (- дим)).

    ЦСС филтер од свјетлина (.8) потамни боју позадине мало, и коначно, з-индекс: -2 правило местима ::после псеудо-елемент испод ::пре него што која садржи слику.

    Ево га сцреенсхот оф тхе демо до сада (са з-индек уклоњен из оба псеудо-елемента тако да се могу видети):

    4. Додајте трансформацију

    Ми Додајте трансформисати својство на два псеудо-елемента, тако да када корисник лебди изнад .фоо, оба псеудо-елемента су померио се хоризонтално.

    Као и ми је већ додао прелаз власништво свих елемената на крају корака 1, кретање слике и њене позадине су оба анимирана.

     .фоо: ховер :: бефоре, .фоо: ховер :: афтер трансформ: транслатеКс (100%);  

    Испод можете видети финал демо.

    Бонус: Опциона маргина

    Ако прикажете .фоо поред других елемената на страници и желите да ти други елементи буду измицати када се слика и њена позадина извуку, онда додајте десну маргину исте ширине као и .фоо до .фоо: лебдите елемент.

     .фоо: ховер маргин-ригхт: вар (- дим);