Головна » Кодування » Як створити скошені ребра з CSS

    Як створити скошені ребра з CSS

    У цій публікації ми розглянемо, як можна створити кутовий ефект краю (горизонтально) на веб-сторінці. В основному, це виглядає приблизно так:

    Маючи трохи кутовий край, наша веб-макета повинна виглядати менш жорсткою і нудною. Щоб зробити цей трюк, ми будемо використовувати псевдоелементи :: раніше і :: після і CSS3 Transform.

    Використання псевдоелементів

    Ця техніка використовує псевдоелементи :: раніше і :: після для нахилу країв елемента. У цьому прикладі ми будемо коригувати нижній край.

     .блок висота: 400px; ширина: 100%; позиція: відносна; фон: лінійно-градієнтний (праворуч, rgba (241,231,103,1) 0%, rgba (254,182,69,1) 100%); ширина: 100%; висота: 100%; позиція: абсолютна; фон: успадковувати; z-індекс: -1; дно: 0; перетворення-початок: ліве нижнє; перетворення: skewY (3deg); 

    Давайте повторимо.

    The перетворення-походження вказує координати елемента, який ми хочемо перетворити. У наведеному вище прикладі ми вказали ліворуч які ставлять початкові координати в нижньому лівому куті блоку.

    The transform: skewY (3deg); робить :: після блок перекосу або кут на 3 градуси. Оскільки ми задали початкову координату внизу ліворуч, нижній правий блок піднімає на 3 градуси. Якщо ми поміняємо перетворення-походження до праворуч а нижній лівий кут буде піднято на 3 градуси.

    Ви можете додати суцільний колір або градієнт, щоб побачити результат.

    Зробити це легше з Sass Mixin

    Щоб зробити це простіше, я створив Sass mixin, щоб додати кутові ребра, за винятком головних болів при вирішенні складності правил стилю. За допомогою наступного змішування ви можете швидко вказати сторону - зверху-вліво, вгорі-вправо, внизу-вліво або знизу-вправо-для перекосу.

     @mixin angle-edge ($ pos-top: null, $ angle-top: null, $ pos-btm: null, $ angle-btm: null) ширина: 100%; позиція: відносна; фон: лінійно-градієнтний (праворуч, rgba (241,231,103,1) 0%, rgba (254,182,69,1) 100%); & :: before, & :: after content: "; width: 100%; висота: 100%; позиція: абсолютна; фон: inherit; z-index: -1; перехід: простота all .5s; @if $ pos-top & :: before @if $ pos-top == 'topleft' top: 0; перетворення-початок: праворуч; transform: skewY ($ angle-top); @if $ pos-top = = 'topright' top: 0; transform-origin: left top; transform: skewY (- $ angle-top); @if $ pos-btm & :: after @if $ pos-btm == 'bottomleft' bottom: 0; transform-origin: правий нижній; transform: skewY (- $ angle-btm); @if $ pos-btm == 'bottomright' bottom: 0; transform-origin: ліве нижнє; transform: skewY ($ angle-btm); 

    У змішуванні є чотири змінні. Перші дві змінні, $ pos-top і $ angle-top, вкажіть верхня початкова координата і ступеня. Останні дві змінні визначають координати і ступеня для знизу сторони.

    Якщо ви заповните всі чотири змінні, ви можете нахиляти обидві сторони - зверху і знизу - елемент.

    Використовуйте Sass @включати Синтаксис для вставки змішування в елемент. Приклади нижче:

    Щоб додати перекіс на зверху ліворуч сторона:

     .блок @ включити кут-край (topleft, 3deg);  

    Щоб додати перекіс на внизу праворуч сторона:

     .блок @ включити кут-край (знизу праворуч, 3deg);  

    Щоб додати перекіс на зверху ліворуч і внизу праворуч сторона:

     .блок @ включити кут-край (topleft, 3deg, bottomright, 3deg);  

    Нижче наведено демонстраційну версію, до якої застосовано міксини. Змініть поле вибору, щоб переключитися на інший стиль.

    Це воно!