Frontend case
前往频道在 Telegram
🌀 Чат для общения @frontend_case_chat ♨️ YouTube https://youtube.com/@frontend_case 🤝 Для сотрудничества писать @drabovich_77 Метки на канале: #YouTube - видео и материалы #Articles - полезные статьи #Tasks - задачи по JS #Fichi - лайфхаки фронтенда
显示更多1 336
订阅者
无数据24 小时
+57 天
+1030 天
帖子存档
1 336
#Articles
Приветствую всех 🖐
Рассмотрим основные моменты работы с текстом, то что надо каждый день :)
У нас будет два популярных вида строки.
Изучение программирование - это не просто! (обычное предложение)
frontendcase@gmail.com (сплошное длинное слово)
Как работает по умолчанию?
Будет просто переносить целиком слова, которые не влазят, а если слово длиннее чем контейнер, то оно поломает вам верстку.
Применим разные свойства:
1) word-break
- break-word - лучший вид переноса, переносит слова целиком которые не влезли и длинное слово режет там где оно не влазит.
- break-all - выполнит жесткий перенос без правил, обрывает слово на том месте, где оно не влезло
2) white-space
- nowrap запрещает перенос слова, все в одну строку
Если у кого есть, что добавить, жду вас в комментариях)
@frontend_case
1 336
#Articles
Приветствую всех 🖐
Давайте рассмотрим основные способы работы с контентом, который не помещается в заданные размеры :)
1) Классический вариант
У нас карточка товара 200px, а заголовок может быть любой длины, в зависимости от названия товара.
Как сделать чтобы большой заголовок, который введет владелец магазина не ломал нам верстку?
Все просто, примените стили ниже к заголовку.
.title {
text-wrap: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
До:
<h3 class="title">Краски акварельные для рисования</h3>
После:
<h3 class="title">Краски акварельные...</h3>
2) Обрываем текст на определенной строке
У нашей карточки есть так же описание товара и версткой рассчитано, не более двух строк.
Как сделать чтобы описание товара было не более двух строк, которое введет владелец магазина и не сломает нам верстку?
Все просто, примените стили ниже к параграфу, где в свойстве webkit-line-clamp укажите номер строки, на которой нужно прервать описание.
.text {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
До:
<p class="text">
Кастрюля эмалированная цилиндрическая
с деколь. Крышка эмалированная с
пластиковой ручкой. Может быть использована
на всех типах кухонных плит.
</p>
После:
<p class="text">
Кастрюля эмалированная цилиндрическая
с деколь. Крышка эмалированная...
</p>
3) Обрываем середину слова или хэша в нашем случае
Рассмотрим этот способ на примере хэша транзакции
1ce87e92d89f344c4b22e5ff1671fa2998d864f223120f2d4818943b7ca3a96e.
Показывать пользователю всю длину транзакции нет смысла, обычно показывают 6 символов вначале и 6 в конце. Давайте это сделаем )
В countPrefix и countSuffix можно передавать кол-во символов до разрыва и после.
const hash = 1ce87e92d89f344c4b22e5ff1671fa2998d864f223120f2d4818943b7ca3a96e
const truncateHash = (str, countPrefix = 6, countSuffix = 6) => {
if (!str) return "";
const maxLength = Math.round(countPrefix + countSuffix);
if (str.length <= maxLength) return str;
const prefix = str.slice(0, countPrefix);
const suffix = str.slice(-countSuffix);
return prefix + "..." + suffix;
};
truncateHash(hash)
До:
1ce87e92d89f344c4b22e5ff1671fa2998d864f223120f2d4818943b7ca3a96e
После:
1ce87e...a3a96e
Если у кого есть, что добавить, жду вас в комментариях)
@frontend_case1 336
#notFound
👻 Мои 3 варианта для 404 страницы :)
Будет супер, если вы в комментарии кинете фото или фигму с прикольной идеей 404 страницы.
Чтобы мы могли всегда вернуться к этому посту (по хэштегу #notFound), когда в своем проекте потребуется сверстать 404 страницу.
Фигму прикрепил в комментах 👇
@frontend_case
1 336
#notFound
👻 Мои 3 варианта для 404 страницы :)
Будет супер, если вы в комментарии кинете фото или фигму с прикольной идеей 404 страницы.
Чтобы мы могли всегда вернуться к этому посту, когда в своем проекте потребуется сверстать 404 страницу.
Фигму прикрепил в комментах 👇
@frontend_case
1 336
#notFound
👻 Мои 3 варианта для 404 страницы :)
Будет супер, если вы в комментарии кинете фото или фигму с прикольной идеей 404 страницы.
Чтобы мы могли всегда вернуться к этому посту, когда в своем проекте потребуется сверстать 404 страницу.
Фигму прикрепил в комментах 👇
@frontend_case
1 336
#Fichi
На сто процентов каждый сталкивается с проблемой, что из-за какого то одного элемента поехала вёрстка и появился нижний скролл. Особенно это часто бывает при адаптиве.
Для поиска этого диверсанта, в css пропишите:
* {outline: 1px solid red;}
И вас получится, что-то похожее как у меня на фото, диверсант найден в правом верхнем углу 😎
Пишите в комментариях свои способы.1 336
#Fichi
⚡️Интересный вид меню или в принципе любого блока. Код будет прикреплен в комментариях.
1 336
#Tasks
У меня к вам вопрос на понимание)
1) Чем отличается map от foreach?
2) см. на скрине, эти два способа в итоге дадут одинаковый результат или нет?
ПОЧЕМУ?
p.s. ответ будет позже в комментариях
1 336
#Tasks
Приветствую разработчики)
Предлагаю размяться простой задачкой, но не все так просто)
Кидайте свой ответ в комменты и было бы круто если поясните свой ответ!
const a = [1, 2, 3, 4, 5, 6, 7];
const b = a.slice(3, 6).push(4)
console.log(b);1 336
#YouTube
Графики и диаграммы на JavaScript для начинающих. Chart.js и plugin datalabels.
1 336
#Articles
Лучшие способы находить уникальные значения!
Есть массив с данными - это оценки выставленные автомобилям по разным вопросам.
const arr = [
{car: {id: 2, mdoel: "Geely"}, question_id: 33, score: 5},
{car: {id: 5, mdoel: "Emgrand"}, question_id: 33, score: 4},
{car: {id: 7, mdoel: "G5"}, question_id: 4, score: 3},
{car: {id: 5, mdoel: "Coolray"}, question_id: 4, score: 5},
]
1) В нашем массиве, есть одинаковые машины с повторяющимся "car.id". Нам нужно получить только уникальные авто.
const uniqueCarIds = [...new Set(arr.map((c) => c.car.id))];
Выполнив это мы получим в консоли [2, 5, 7].
С помощью new Set мы создали новый массив, где каждое значение может появляться только один раз.
Это наверное самый лучший вариант, когда вам надо получить уникальные id.
2) Но что делать, если я хочу получить целиком объект, но только уникальных "car.id", например для того чтобы потом сразу вывести модели этих автомобилей?
const uniqueCars = arr.filter((item, i) => i === arr.findIndex((c) => c.car.id === item.car.id))
Выполнив это мы получим в консоли объекты с уникальными car.id.
Как это работает?
Проходимся по массиву arr с помощью filter и на каждой итерации находим индекс нашего итерируемого эл-та, если он совпал, значит он пока уникальный, а если не совпал, значит уже раньше такие были и это дубляж и он не добавится в новый массив с уникальными эл-ми.
Спасибо всем, кто дочитал до конца😎🖐
У кого есть, что добавить, пишите в комменты)
@frontend_case