Domovská » Kódování » Jak vytvořit šikmé hrany s CSS

    Jak vytvořit šikmé hrany s CSS

    V tomto příspěvku se podíváme na to, jak můžeme vytvořit efekt úhlu hrany (vodorovně) na webové stránce. V podstatě to vypadá takto:

    Mít mírně zahnutý okraj by měl náš web layout vypadat méně tuhé a nudné. K tomuto triku budeme používat pseudo-elementy ::před a ::po a CSS3 Transformace.

    Použití Pseudo elementů

    Tato technika používá pseudo-elementy ::před a ::po úhel hran prvku. V tomto příkladu budeme upravovat spodní okraj.

     .block výška: 400px; šířka: 100%; poloha: relativní; pozadí: lineární gradient (vpravo, rgba (241,231,103,1) 0%, rgba (254,182,69,1) 100%);  .block :: po content: "; šířka: 100%; výška: 100%; pozice: absolutní; pozadí: dědit; z-index: -1; dolní: 0; transformace-původ: vlevo; transformace: skewY (3deg); 

    Připomeňme si.

    transformačního původu určuje souřadnice prvku, který chceme transformovat. Ve výše uvedeném příkladu jsme zadali vlevo dole které umístí počáteční souřadnice do levého dolního rohu bloku.

    transformace: skewY (3deg); dělá ::po šikmého úhlu nebo úhlu 3 stupně. Vzhledem k tomu, že jsme určili počáteční souřadnici jako vlevo dole, zdvih vpravo dole v bloku zvyšuje 3 stupně. Pokud si vyměníme transformačního původu na vpravo dole a levý dolní roh bude místo toho zvýšen o 3 stupně.

    Výsledek můžete zobrazit přidáním solidního barevného pozadí nebo gradientu.

    Udělejte to jednodušší s Sass Mixin

    Aby to bylo jednodušší, vytvořil jsem Sass mixin, který přidává šikmé hrany, mínus bolesti hlavy z řešení složitosti pravidel stylu. S následujícím mixinem můžete rychle specifikovat boční - levý horní, pravý horní, dolní levý nebo pravý dolní - pro zkosení.

     @mixin úhel-hrana ($ pos-top: null, $ angle-top: null, $ pos-btm: null, $ angle-btm: null) width: 100%; poloha: relativní; pozadí: lineární gradient (vpravo, rgba (241,231,103,1) 0%, rgba (254,182,69,1) 100%); & :: before, & :: after content: "; šířka: 100%; výška: 100%; pozice: absolutní; pozadí: dědit; z-index: -1; přechod: snadné všechny .5s; @if $ pos-top & :: before @if $ pos-top == 'topleft' top: 0; transform-origin: right top; transform: skewY ($ angle-top); @if $ pos-top = = 'topright' top: 0; transform-origin: left top; transform: skewY (- $ angle-top); @if $ pos-btm & :: po @if $ pos-btm == 'bottomleft' bottom: 0; transform-origin: right bottom; transform: skewY (- $ angle-btm); @if $ pos-btm == 'bottomright' bottom: 0; transform-origin: vlevo dole; transform: skewY ($ angle-btm); 

    V mixinu jsou čtyři proměnné. První dvě proměnné, $ pos-top a $ angle-top, specifikujte horní startovní souřadnice a stupeň. Poslední dvě proměnné určují koordinovat a stupeň pro dno boční.

    Pokud vyplníte všechny čtyři proměnné, můžete obě strany - horní a dolní - naklonit.

    Použijte Sass @zahrnout syntaxi pro vložení mixinu do elementu. Příklady naleznete níže:

    Chcete-li přidat šikmou hranu vlevo nahoře boční:

     .block @include edge (topleft, 3deg);  

    Chcete-li přidat šikmou hranu vpravo dole boční:

     .block @include edge (bottomright, 3deg);  

    Chcete-li přidat šikmou hranu vlevo nahoře a vpravo dole boční:

     .block @include edge (topleft, 3deg, bottomright, 3deg);  

    Níže je ukázka s použitými mixiny. Změňte výběrové pole na jiný styl.

    A je to!