Каморка Геткурсовода 💻 | Канал Максима Елисеева
2.21K subscribers
189 photos
18 videos
9 files
105 links
Остались вопросы? Пишите — @Isagaya

Этот уютный канал посвещён фишкам и нестандартным решениям по дизайнам, интерфейсам и функционалам платформы от Куратора школы Магии Геткурса — Максима Елисеева.

Мой второй канал обо всём - https://t.me/closetmax ;)
Download Telegram
Поделюсь с вами лёгкой кастомизацией, которую вы сможете без проблем повторить и приукрасить стандартную форму Геткурса. А именно добавлением значков полям форм 😉

P.S. Телега немного перепутала порядок скриншотов, но я думаю вы поймете 😁

UPD: Поправил в тексте нумерацию скриншотов

Для начала нам нужен сам блок формы (куда же без него), и сделать пару небольших манипуляций с каждым полем. Я буду делать это на стандартных трёх полях, но вы можете сделать по такой же аналогии и с другими полями. Заходим в настройку первого поля, кликнув по шестерёнке (скриншот №1) и в самом низу присваиваем полю класс field-email, поскольку первое поле в форме просит нас заполнить email (скриншот №4) 😎

Ровно так же поступаем и с остальными полями, добавляя по смыслу классы полям. У меня три поля, соответственно я обозначил их как field-email, field-name, field-phone. После этого в Стилях блока данной формы в "Подробных настройках" вставляем следующий CSS:

.field-content {
position: relative;
}

.field-content:after {
content: '';
font-family: fontAwesome;
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
}

.field-email .field-content:after {
content: '\f0e0';
}

.field-name .field-content:after {
content: '\f007';
}

.field-phone .field-content:after {
content: '\f095';
}

В последних 3-х селекторах, где идут только правила content я вставлял иконки Юникодом с сайта fontawesome v.4.7, так как эта версия интегрирована в Геткурс 😉
Вы без труда сможете найти там свою иконку, если захотите поменять или добавить, и так же поставить Юникодом в правило content (где найти Юникод смотрите скриншот №3). Номер Юникода обязательно должен идти после \ обратного слэша, как это сделано у меня.

#лёгкая_кастомизация #полезная_фишка
Каморка Геткурсовода 💻 | Канал Максима Елисеева
Поделюсь с вами лёгкой кастомизацией, которую вы сможете без проблем повторить и приукрасить стандартную форму Геткурса. А именно добавлением значков полям форм 😉 P.S. Телега немного перепутала порядок скриншотов, но я думаю вы поймете 😁 UPD: Поправил в…
This media is not supported in your browser
VIEW IN TELEGRAM
Немного пошаманил и показываю, как можно добавить некоторые возможности при стилизации и разнообразить некоторыми эффектами предыдущую лёгкую кастомизацию.

Сперва следует применить все наработки из этого поста, затем будем творить магию 😮

Для начала отключим у Геткурсовских инпутов их выделение при фокусе (делается это на основе псевдокласса :focus-visible) и допишем в имеющийся CSS такое правило:

.field-content input:focus-visible {
border: none;
outline: none;
}

И теперь мы можем во всей красе использовать ещё один мало известный псевдокласс :focus-within, который позволяет стилизовать элемент, если внутри него произошел фокус или же сам элемент был взят в фокус. Звучит сложно, да, но на деле отталкиваясь от этого мы можем присвоить стили всему, что лежит внутри этого родительского элемента, например нашему псевдоэлементу :after, а так же стилизовать при этом input.

Добавляем вот такой CSS:

.field-content:focus-within input {
border: 1px solid red;
box-shadow: 0 0 5px red;
}

.field-content:focus-within::after {
color: red;
}

И получаем красивый, а так же стильный эффект на наших полях для ввода! 😉

#лёгкая_кастомизация #полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Предыдущая лёгкая кастомизация с полями формы вам определённо понравилась, поэтому я продолжу эту рубрику на канале ☺️

В этот раз я поделюсь с вами кастомизацией эффекта при наведении на мой любимый блок карточек (да-да, видели бы вы, сколько я издевался над ними в своих уроках в Магии Геткурса). Конкретно этот блок называется "Картинка - подзаголовок - заголовок - текст". При наведении на карточки получился интересный эффект преобразования формы картинки. В стили блока был прописан следующий CSS:

.lt-tsr-content .image-wrapper {
display: flex;
justify-content: center;
align-items: center;
transition: 0.5s;
}

.lt-tsr-content .image {
transition: 0.5s;
}

.lt-tsr-content:hover .image {
border-radius: 50%;
width: 200px;
height: 200px;
}

Благодаря этому мы получим вполне крутой эффект, который превосходно смотрится даже на стандартном блоке без всякой дополнительной кастомизации, который уже не стыдно показать 😉

P.S. для тех, кто в теме: обнаружил забавный факт, что если убрать галочку из Стилей "Гибкая вёрстка", то на image-wrapper появятся флексы, а с image-card уберутся ненужные абсолютные позиционирования с паддингом в размере 75%, что меня всегда сильно смущал. То есть flex ставится боксу с картинкой при отключении "Гибкой вёрстки". Л — логика 😆

#лёгкая_кастомизация #полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Без JS в современной web-разработке никуда 🙂

Поделюсь с вами очень простым, но безумно функциональным методом плавного открытия блока по кнопке. Буду использовать не нативный JS, а библиотеку JQuery, которую поддерживает Геткурс.

Для начала я создал блок, в котором разместил кнопку, и блок обычного текста. Самому тексту я присвоил класс text-block, а в кнопке поставил действие "Вызов JavaScript", которым, я уверен, мало кто пользуется.

В появившемся окне ниже я вставляю следующий код, который взаимодействует с классом text-block и применяю метод .slideToggle(), который помогает плавно открывать и закрывать блок:

$('.text-block').slideToggle();

А чтобы наш текстовый блок изначально не показывался на странице, зайдем в Стили блока и в "Подробных настройках" вставим следующий CSS:

.text-block {
display: none;
}

Благодаря таким простым действиям мы получили плавную "раскрывашку" текста по клику на кнопку и достаточно быстро нестандартно и интересно кастомизировали страницу. А если добавить нужные по вашему дизайну стили, будет ещё круче 😎

#лёгкая_кастомизация #полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Делать разработку сложнее — не мой вариант. Если это утверждение подходит и для вас, то я думаю вам понравится то, что я нашел на просторах великого и могучего интернета.

Речь пойдет о сервисе enjoycss.com который может генерировать целые, уже застилизованные шаблоны. У сервиса есть встроенный мощный редактор, который тоже приятно радует своими возможностями. Сервис поможет застилизовать блоки, инпуты, кнопки, сгенерировать текст, бекграунд, тени и многое другое. После того, как всё сделали, можно запросить выдачу кода и по смыслу подставить в Геткурс к своим блокам к нужным классам.

Надеюсь, будет полезно тем, кто пока боится писать код самостоятельно, а красоту наводить хочется 😎

P.S. Пригодится знание английского!
P.P.S. Или же воспользоваться автопереводом страницы 😁

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Сделал интересную декоративную фишку для кнопки формы, и хочу поделиться ею с вами.

Бывает такая ситуация, что наш интернет барахлит, либо происходит слишком долгое ожидание от сервера самого ГК, и когда пользователь кликает на кнопку Оплатить/Записаться и т.д., то возможно длительное ожидание, в ходе которого пользователь не до конца понимает, формируется его заказ или нет. Да, Геткурс с недавних пор сделал значок загрузки на самой кнопке, но я предлагаю ещё больше разнообразить и показать пользователю, что его заказ формируется, и ему следует немного подождать, чтобы не было соблазна тыкнуть на кнопку формы ещё раз (и убить все процессы или задвоить заказ).

Мой простенький скрипт позволяет добавить надпись на кнопке при нажатии что заказ формируется, а так же меняет цвет самой кнопки. Вы можете изменить этот цвет и текст под себя, как вам нравится.

Порядок установки:
1. Поставьте вашему блоку с формой любой класс. У меня этот класс my-form
2. Поставьте скрипт в блок JavaScript под вашу форму:

$(function() {
let myForm = document.querySelector('.my-form'); // Здесь поменять класс на класс вашего блока
let formBtn = myForm.querySelector('.btn');

formBtn.addEventListener('click', function() {
this.innerHTML = ' Формируем заказ...';
this.style.backgroundColor = '#a0cfa0';
});
})

Обратите внимание, что если ваш класс у формы будет другим, то в вам в скрипте нужно поставить свой класс вместо .my-form 😎

Пользуйтесь 😊

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Проводите марафоны? Есть открытые уроки для всех зарегистрировавшихся? 😏

Тогда наверняка у вас есть красный значок уведомлений, который появляется каждый день, и там скапливается от 100 до 1000 а то и больше. И всё из-за открытых марафонов/уроков/вебинаров, где люди оставляют свою отметку, особенно если потом вам нужно всё это проверить и долго, нудно, утомительно протыкивать кнопку "Принять".

Поделюсь с вами небольшим лайфхаком, как сэкономить себе кучу времени, чтобы почистить ленту ответов. Всё благодаря кнопочке "Принять всё", которую я для вас подготовил. Она принимает все ответы, которые есть на текущей страницу ответов. Т.е. если у вас 8 страниц ответов, то по одному нажатию кнопки, вся текущая страница будет принята. Итого останется нажать её ещё 7 раз, т.к. ГК автоматически подтянет следующую страницу.

Устанавливать кнопку следует в Настройки аккаунта, в раздел "Счётчики и скрипты для BODY":

<script>
$(function() {
if(window.location.href.indexOf('/teach/control/answers/unanswered') > -1) {
$('.container').append(`
<button class="btn btn-success accept-all" style="position: fixed; top: 20px; right: 20px;">Принять всё</button>
`);

$(function() {
var acceptBtns = document.querySelectorAll('.btn[value="accepted"]');

$('.accept-all').on('click', function() {
acceptBtns.forEach(e => e.click());
});
});
}
})
</script>

Кнопочка появится в вашей Ленте ответов справа сверху, примерно через 10 минут (зависит от загруженности сервера ГК, на котором располагается ваш проект) ✔️

#лайфхак #полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Многим был интересен механизм работы "Читать далее". В этом посте я раскрою одну из его механик работы. Экспериментировать я буду на своём любимом блоке "Карточек".

Если вы хотите разметить много текста в описании вашего продукта в карточке, то логичнее не делать "портянку", а придерживаться единого ритма текстового контента, например, показывать лишь 3 строчки текста, чтобы всё остальное было скрыто. Но как так сделать? 🧐

Демонстрирую один из возможных вариантов:
1) Ставим блок карточек (см. скриншот)
2) Делаем описание карточки с подобной внутренней разметкой:

<p>... Очень много вашего текста...</p>
<p class="readmore"><a style="font-weight: bold;">Читать далее...</a></p>

3) Вставляем стили в Стили блока в "Подробные настройки":

.lt-tsr-content .description p {
text-overflow: ellipsis;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
}

.lt-tsr-content .description p.opened {
-webkit-line-clamp: initial;
}

.lt-tsr-content .description p.changed a {
font-size: 0;
}

.lt-tsr-content .description p.changed a:before {
content: 'Скрыть';
font-size: 16px;
}

4) В самом низу страницы или под блок с карточками ставим блок с JS-кодом:

$(function() {
let readBtns = document.querySelectorAll('.readmore');

readBtns.forEach(el => {
el.addEventListener('click', function() {
this.classList.toggle('changed');
this.previousElementSibling.classList.toggle('opened');
})
})
})

И наслаждаемся чудесным механизмом "Читать далее", который безумно сильно сокращает полотна текста на карточках, а так же делает эстетически приятный однородный вид элементов 😉

#полезная_фишка #лёгкая_кастомизация
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотите чтобы в вашем проекте регистрировались только с почты определённого домена? Можно устроить!

Уже не раз сталкивался с тем, что руководители проектов хотят ограничить регистрации таким образом, чтобы в проекте могли регистрироваться только с определенными доменами почтовых сервисов. В этом вопросе поможет достаточно простенький валидатор, который не пропустит человека дальше, если его почта не удовлетворяет условиям прописанным в скрипте.

Делюсь пошаговым планом эвакуации 😱 действий:
1) Вам нужно поставить обычную форму на страницу (поле имейла должно быть не скрыто)
2) Поставить CSS-класс блоку с формой form в "Стилях" блока
3) В самый верх страницы поставить следующий CSS в отдельный блок "CSS-код":

.form [data-item-name="emailField"] {
position: relative;
}

.form [data-item-name="emailField"] .field-content:before {
content: '';
position: absolute;
width: 10px;
height: 10px;
background: #333;
border-radius: 50%;
right: 20px;
top: 50%;
transform: translateY(-50%);
}

.form [data-item-name="emailField"].valid .field-content:before {
background: #0f0;
box-shadow: 0 0 5px #0f0,
0 0 10px #0f0,
0 0 20px #0f0;
}

.form [data-item-name="emailField"].invalid .field-content:before {
background: #f00;
box-shadow: 0 0 5px #f00,
0 0 10px #f00,
0 0 20px #f00;
}

4) Поставить JS-код в отдельный блок в самый низ страницы, либо под самой формой:

$(function() {
function validate() {
let emailInput = document.querySelector('.form [data-item-name="emailField"]');
let innerInput = document.querySelector('.form [data-item-name="emailField"] input').value;
let formButton = document.querySelector('.form button');
const pattern = /@gmail.com|@yandex.ru/;

if (innerInput.match(pattern)) {
emailInput.classList.add('valid');
emailInput.classList.remove('invalid');
formButton.disabled = false;
} else {
emailInput.classList.add('invalid');
emailInput.classList.remove('valid');
formButton.disabled = true;
}

if (innerInput == "") {
emailInput.classList.remove('valid');
emailInput.classList.remove('invalid');
formButton.disabled = true;
}
};

$('.form [data-item-name="emailField"] input').on('keyup',function() {
validate();
});

validate();
})

В данный момент скрипт настроен таким образом, что будет считать валидным строку имейла, если в ней присутствует @gmail.com или @yandex.ru. Эта настройка хранится в переменной pattern, вы не пропустите отдельное выделение данного паттерна в скрипте, когда будете ставить его на Геткурс. Вы можете изменить этот паттерн, например, вы хотите добавить так же @mail.ru, то паттерн будет выглядеть уже вот так /@gmail.com|@yandex.ru|@mail.ru/

Обратите внимание, все новые значения доменов перечисляйте через знак прямого слэша ( | ).

#полезная_фишка
Выходные, время работы над своими ошибками и переосмыслению ситуаций. Вот и я на выходных нашел для вас полезный сервис, который помогает выявлять ошибки в CSS-коде онлайн, если вы не понимаете, где у вас затык, и пересмотрели глазами всё вдоль и поперёк 😂

CSS Lint поможет вам найти ошибки в вашем CSS-коде (а так же травмирует ваши чувства, как утверждает сам сервис 😄), и покажет, что и где было не так. На скриншоте я привёл пример своего кривого CSS, и линтер вывел все имеющиеся ошибки в таблицу, так же подсветив строки, в которых нашел проблему. Где-то не закрыты скобки, о чём он тоже сообщает и ругается, а так же неправильное написание некоторых свойств и их значений.

Будет полезно для тех, кому не хочется ставить сторонние специализированные программы по редактору кода 😎

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Ломаем систему одноблочности 😁

Речь пойдет про достаточно популярный блок "Обложка", которым пользуются чуть ли не 99% всех проектов уж точно. И зачастую жалуются на то, что его не особо можно разнообразить, например добавить свою колоночную систему нам этот блок не позволяет.

Что ж, придётся решить эту проблему, и навести немного красоты и разнообразия в этом "одноблочном" мире.

Дело в том, что зачастую в этом блоке используются в основном 2 типа элементов: текстовый и картинка. Поэтому будем опираться на них. Они имеют свои достаточно похожие классы, начинающиеся с part:

.part-text — текстовый элемент
.part-image — изображение

Прибегая к нехитрой манипуляции и математике, можем уменьшить их ширину в процентах оставляя им некую погрешность в расстоянии между друг-другом.

Если нужно сделать 2 текстовые колонки, внутрь вставляем следующее:

.part-text {
display: inline-block;
max-width: calc(50% - 10px);
vertical-align: middle;
}

Если нужно сделать 3 колонки с картинкой по середине, внутрь вставляем следующее:

.part-text, .part-image {
display: inline-block;
max-width: calc(33% - 10px);
vertical-align: middle;
}

Функция calc() будет постоянно пересчитывать эти значения при каждом уменьшении экрана, а значит проблем с адаптивностью данных колонок будет минимум 😉

Ну и конечно же вам сперва нужно по порядку поставить текстовые элементы и картинку так, как хотите чтобы они шли в колонках. То есть просто поставить в порядке очереди эти элементы, а потом вставлять соответствующий стилевой код ☺️

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Ух, работа и сторонние проекты поглотили меня. Но вот возвращаюсь к ведению своего канала. И у меня есть для вас один очень интересный инструмент, который лежит на просторах интернета, и делает очень красивые переходы между блоками 😎

Некоторые уже наверное слышали про GetWaves, но я бы хотел осветить этот бесплатный инструмент в широкой массе. Ведь он помогает сделать переходы между блоками более изящными и со своими стилистическими особенностями.

Заходите, генерируйте, и пользуйтесь! Всё достаточно просто. Как только выберите цвет и сгенерируете привлекательную для вас волну, нажимаете кнопку по центру, и вам выдаётся свг, который нужно поставить в HTML-блок в Геткурсе. Советую делать такие вставки между блоками поставив HTML-блок. Если захотите по каким-то причинам использовать внутри блока в html-элементе, то вам придётся повозиться с тем, чтобы отменить некоторые позиционирования у родительских элементов 😂

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Как в книгах! 🤓

Жили-были... а точнее, всегда были заглавные буквы везде. Особенно их любили выделять в старой или художественной литературе как бы придавая атмосферы читателю. Подобное можно сотворить и на наших нынешних страницах, и делается это достаточно просто.

За определение первой буквы в тексте отвечает псевдокласс ::first-letter. Таким образом мы выберем первую букву, но что же делать дальше?

По-хорошему нам нужно сделать ещё и обтекание в тексте, чтобы на эту самую букву не наслаивался другой текст. В этом нам прекрасно поможет свойство обтекания float. Изначально в старых браузерах оно активно использовалось как свойство позиционирования, но в современном вебе используется как правило обтекания. Далее с помощью применения правил отступов немного подправить его начальную позицию.

В моём примере я поставил на текстовый блок класс article и обращаясь к элементу p я выбираю его первую букву, а затем применяю следующие правила:

.article p::first-letter {
color:#FE5F55;
font-weight: bold;
font-size: 70px;
float: left;
line-height: 60px;
padding-right: 8px;
margin-top: -3px;
}


И благодаря этому получается такой красивый эффект "Буквицы" с обтеканием текста вокруг. Можно так же навесить на эту первую букву другой, более "сказочный" шрифт. Далее фантазия зависит только от вас ☺️

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Выходим за пределы сознания формы кнопки 👀

Всегда остро стоял вопрос в визуализации и красивой анимации кнопок. Хочу поделиться с вами одним своим полезным стилем, который поможет сделать классный эффект "стрелки" на кнопке при наведении на неё.

Рецепт такой кнопки прост:
1) Возьмите блок с кнопкой или любую кнопку (шок-контент 😮 )
2) Вставьте в стили блока в "Подробные настройки" следующие стили:

.btn {
text-transform: uppercase;
font-weight: 500;
letter-spacing: 2px;
transition: 0.5s;
clip-path: polygon(100% 0, 100% 50%, 100% 100%, 0% 100%, 0 50%, 0% 0%);
}

.btn:hover {
letter-spacing: 4px;
font-weight: 800;
clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0% 100%, 10% 50%, 0 0);
}


Я немного приукрасил анимацию тем, что не просто изменяю форму кнопки, но ещё и раздвигаю буквы друг от друга. Будет полезно тем, кто хочет открыть для себя новые свойства в CSS, и тем, кому нравится такой эффект.

И да, конечно же всех с пятницей! 😎

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Как вы думаете, из какого блока был свёрстан этот блок на скриншоте №1? 🧐

На размышление 30 секунд 😂

Кто-то скажет что без 4х колоночного блока тут не обойтись. Но проблема в том, что 4х колоночного блока нет в Геткурсе. Как же сделать подобную конструкцию, чтобы картинка была слева, а описание товара или любое другое текстовое составляющее было справа от неё?

На самом деле здесь используется блок "Две колонки с произвольным контентом". Всё, что нужно сделать это поставить блок желаемой картинки и блок текста друг за другом (скриншот №2). А затем применить чуть-чуть магии называемой CSS 😎

После того как мы поставили блоки так, как показано на скриншоте, нам нужно поставить следующие стили в блок:

.flex-container .flex-column {
align-items: center;
}

.part-image,
.part-text {
max-width: calc(50% - 20px);
}

.part-text {
padding-left: 30px;
}


Так мало стилей? Да! Мы всего лишь поменяли структуру ширины блоков изображения и текста, в следствии чего они встали в один ряд друг с другом, а так же зацентрировали их относительно друг-друга. Ну а дальнейшая стилизация уже зависит от вашей фантазии, дерзайте 😉

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Возвращаемся после праздников в работу 😉

На этот раз обратим свой взор на блок с картинкой. Редко я вижу чтобы его вообще хоть как-то стилизовали, но всё же это можно, и даже нужно. Потому что лично меня не стилизованный блок картинок уже практически не цепляет, хоть и взгляд невольно останавливается.

На скриншоте я показываю как можно разнообразить блок с картинкой, придав ему декоративную рамку, из которой изображение как бы "вылетело", что придаёт некий шарм самому блоку 😊

Зачастую класс блока с картинкой называется part-image, от него и будем отталкиваться. Саму картинку мы оставим не тронутой, а вот заднюю рамку со смещением повесим на псевдоэлемент. Получится примерно следующее:

.part-image {
position: relative;
z-index: 5;
}

.part-image:before {
content: '';
position: absolute;
z-index: -1;
display: block;
width: 100%;
height: 100%;
border: 10px solid #FFCA42;
transform: scale(0.95) translate(30px, 40px);
}


Как итог, мы чуть-чуть поигрались со слоями, а рамку отправили позади самого элемента задав ему z-index: -1. Приукрасили стилями как надо и сместили и чуть сузили с помощью свойства transform. Пользуйтесь

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Прилипающий контент. Смотрится отлично, практичен и дружелюбен в плане UX. К тому же и делается достаточно просто.

Нужно прописать контейнеру буквально одно свойство:

position: sticky;


Но использовать его нужно грамотно и правильно. Потому что почти никто не понимает почему блок не прилипает и не ездит в след за прокруткой страницы.

Во-первых, обязательно должна присутствовать координата отступа, например top: 10px. Она будет означать что контент прилипнет при прокрутке сверху и будет отступать от края окна браузера 10px. Итого у плавающего контейнера свойства будут выглядеть примерно так:

position: sticky;
top: 10px;


И второй важный момент я покажу на скриншоте к посту. У блока родителя, который содержит контейнер со свойством position: sticky должно хватать высоты, по которой как раз будет ездить внутренний блок как лифт. Лучше всего чтобы это было автоматическое расстояние основанное на растянутости вашего контента. Ну или же до определённого момента — решать вам 😉

P.S. Скрин и гифка чуть ниже)

#лайфхак #полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Тема кнопок всегда будет актуальна, ведь как-то надо привлекать внимание пользователей, верно? 😌

Из необычных эффектов на кнопке вот такое светлое пятно, которое придаёт соблазна на неё тыкнуть. В принципе можно положить заранее заготовленную подобную картинку на бэкграунд, правда тут есть "но". Картинка это растр. И если ваша кнопка достаточно большая, то при адаптации этот растр "пережмёт" в такое кривое нечто, что это будет безумно криво смотреться.

Такой эффект достигается с помощью радиального градиента на самой кнопке. Вот пример CSS, который используется для кнопки на скриншоте к посту, и прочие стили, которые задают подобный формат кнопке:

.btn {
background: radial-gradient(53.6% 103.93% at 28.4% 50.81%, #d58ecf 0%, #bb4056 100%);
border-radius: 10px;
font-size: 20px;
letter-spacing: -0.02em;
text-transform: uppercase;
padding-left: 45px;
padding-right: 45px;
}


В то же время важно в настройках кнопки оставить поля цветов пустыми (скриншот №2), и применить настройки. Тогда данный CSS вполне хорошо ляжет на саму кнопку. Вы можете поиграться и поставить свои цвета, которые являются главными у вас в проекте 😊

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Существует такая проблема как "слишком много полей в форме регистрации". Да, я и сам с такой сталкивался, и зачастую превращали страницу, как я люблю называть, в рулон туалетной бумаги 😦

Подготовил для вас небольшой лайфхак с тем, как я решал эту проблему. Достаточно простенько, но элегантно 😉

В CSS стили блока с формой ставим:

.form-content .builder {
display: flex;
flex-wrap: wrap;
gap: 10px;
}

.part-userField {
flex: 1 0 49%;
}

.part-header, .part-button {
flex-basis: 100%;
}


И вуаля, наши поля теперь расположены в 2 ряда. Если у вас нечётное количество полей, то может быть такое, что у вас останется лишнее некрасивое место. Чтобы решить эту проблему так же элегантно, то назовите поле вашим собственным классом, и добавьте ваш класс в последнее правило, где применяется свойство flex-basis: 100%;

Должно выглядеть так:

.part-header, .part-button, .вашкласс {
flex-basis: 100%;
}


#лайфхак #полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня решил поделиться с вами сочным дизайном корзины на ГК, чтобы как-то разнообразить её скучный вид 😉

Есть несколько состояний корзины: закрытая и раскрытая.

Для владеющих CSS людей я отделил комментариями в стилях части стилей, которые отвечают за разные состояния, можете попробовать подредактировать некоторые моменты под ваш проект 😏

Стили необходимо поставить на ту страницу, где находится ваша корзина, в самый верх страницы в отдельный CSS-блок.

Сами стили будут ниже этого поста. Так как они не вмещаются в него 😆

#полезная_фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM