Будни разработчика
14.7K subscribers
1.18K photos
334 videos
7 files
2.01K links
Блог Lead JS-разработчика из Хельсинки
Автор: @bekharsky

По рекламе: https://telega.in/channels/htmlshit/card?r=GLOiHluU или https://t.me/it_adv

Чат: https://t.me/htmlshitchat

№5001017849, https://www.gosuslugi.ru/snet/679b74f8dad2d930d2eaa978
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня

Я недавно писал пост про реализацию панелей с изменяемым размером. Ну как в редакторах или на том же кодпене: https://t.me/htmlshit/2211

Так вот, забудьте. Если стоит задача просто сделать пару панелек и дать возможность изменять их размер, это можно сделать чистым CSS!

Да, многие уже догадались, что речь идёт о свойстве resize: https://codepen.io/alinaki/pen/MWZXzMY

Интересный момент — если элемент блочный, overflow обязательно должно быть hidden.

«Не, погоди, а где панели-то?»

Терпение! Глядите, что придумал небезызвестный Jhey: https://codepen.io/alinaki/pen/zYyaMQB

Суть в том, что создаётся грид:

grid-template-columns: auto 1fr;


И в первую из панелей вставляется элемент resizer, с включённым нужным нам свойством.

А вот дальше натурально магия: браузеры не дают возможности стилизовать уголок-ручку, за которую надо дёргать, а она очень маленькая.

Джей вышел из ситуации интересным способом: заскейлил элемент в несколько раз и примерно на месте ручки поместил псевдоэлемент. А чтобы остальной блок не мешался — обрезал его через clip-path.

По-моему, это гениально. И работает фактически везде!

#css #trick #resize
👍18🤩7