Задать вопрос
  • Как менять картинки у карточки в списке товаров?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    нужно взять любой слайдер.
    по умолчанию на мобильных он будет работать как слайдер - перелистывать слайды-картинки
    на десктопе поверх всего слайдера растягиваете блок с dots pagination (точки для листания слайдов). стилизуете их, делая полностью прозрачными. и добавляете к ним обработчики наведения мышки. в обработчике определяете точку на которую навелись и переключаете слайдер к нужному слайду.

    если говорить о swiper то вот пример hover-навигации Как менять слайд SwiperJS при наведении?
    Ответ написан
    Комментировать
  • Как с помощью flex распредилить кнопки как на картинке?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Как вычислить размер шрифта для блока div с заданным размером?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    велосипед не мой. вроде работает.

    Ответ написан
    1 комментарий
  • Какие есть варианты такого позиционирования элементов на странице?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Т.е. обёртку box2 удалять нельзя.

    В CSS есть display: contents для таких вещей.
    Остальное гридами.
    Ответ написан
    Комментировать
  • Какие актуальные требования для специалиста data science?

    Maksim_64
    @Maksim_64
    ML Engineer
    чтобы были шансы на рассмотрение резюме?

    Это не про знания и навыки, а про количество опыта в резюме, процентов на 95. Остальные 5, проект в резюме.

    По скилам:
    1. Английский

    2. Бесплатная книга от создателя pandas https://wesmckinney.com/book/ она познакомит с экосистемой для классического ML (если совсем новичок, лучшая точка для старта)

    3. для классического ML стека, книга (доступна бесплатно) от профессоров стенфорда + довольно сложные упражнения. https://www.statlearning.com/

    4. Для нейронных сетей, нет ничего лучше чем Deep Learning with Python, Second Edition by François Chollet уникальная книга, никогда и нигде не видел объяснения продвинутых концепций столь простым языком, даже за пределами нейронных сетей.

    5. Рекомендация от меня, освой dash + plotly возвращаясь к шансам на рассмотрение резюме, создай dash ML приложение, задеплой его и размести ссылку на него в резюме, это повысит шансы.
    Ответ написан
    Комментировать
  • Умное количество элементов в сетке GRID?

    alsolovyev
    @alsolovyev
    ¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
    Так?
    .parent {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(calc(100% / 3 - 10px), 1fr));
      gap: 10px; 
    }

    Ответ написан
    1 комментарий
  • Чем отличается функция от конструктора и где применять то или это?

    К большому моему (личному) сожалению, Javascript - это язык, в котором возможно и разрешено вообще всё. Язык постоянно дополняется из "хотелок" пользователей.

    И вот в один момент разработчики спецификации ECMA-script решили, а давайте мы всё же оправдаем первые 4 буквы в названии языка, а именно "Java", и дадим пользователям сахарок, нарисованный над нашим прототипным наследованием, чтобы они могли везде писать class, extends и implements, как и все остальные ООП-динозавры. И сделали это.

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

    class ClassWithPrivate {
      #privateField;
      publicField;
    
      constructor() {
        this.#privateField = "Доступ только изнутри класса";
      }
    }
    
    const instance = new ClassWithPrivate();
    
    instance.publicField = "Доступ извне класса";
    instance.#privateField; // Ошибка: SyntaxError: Private field '#privateField' must be declared in an enclosing class


    Еще одной особенностью конструктора является то, что он активно используется при наследовании (крестится и плюётся через левое плечо от отвращения). Если в дочернем классе не описан свой конструктор, то будет использован конструктор родителя. Это упрощает ООП.

    class Animal {
    
      constructor(name) {
        this.speed = 0;
        this.name = name;
      }
    
      run(speed) {
        this.speed = speed;
        alert(`${this.name} бежит со скоростью ${this.speed}.`);
      }
    
      stop() {
        this.speed = 0;
        alert(`${this.name} стоит.`);
      }
    
    }
    
    class Rabbit extends Animal {
      hide() {
        alert(`${this.name} прячется!`);
      }
    
      stop() {
        super.stop(); // вызываем родительский метод stop
        this.hide(); // и затем hide
      }
    }
    
    let rabbit = new Rabbit("Белый кролик"); // используется конструктор родителя
    
    rabbit.run(5); // Белый кролик бежит со скоростью 5.
    rabbit.stop(); // Белый кролик стоит. Белый кролик прячется!


    Таким образом, если вдарились в классический ООП, пользуйтесь везде конструктором, потому что ООП развивается десятилетиями, люди прошли сквозь страдания и выработали определённые "лучшие практики" для ООП.
    Если же вы используете объекты в основном как очень простые структуры без классической инкапсуляции с приватными полями, не используете наследование, а весь ваш код написан, в основном, на функциях, то делайте, ради бога, что вам вздумается, и отдельная функция-фабрика для создания объектов - это тоже вариант.
    Ответ написан
    Комментировать
  • Как добавить "уголки" правильно?

    @ksnk
    Можно поизвращатся.
    Вставить элемент с нужными границами и вырезать из него все ненужное
    Ну или даже одним элементом
    Ответ написан
    Комментировать
  • Как лучше сверстать элемент?

    alsolovyev
    @alsolovyev
    ¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
    Ну например через transform и математику

    Или через grid

    Или просто в 3 ряда на flex
    66f1ad16c7bf6011256538.jpeg
    Ответ написан
    1 комментарий
  • Как добавить впереди цифр нули?

    Ni55aN
    @Ni55aN
    String(number).padStart(2,'0')
    согласно последним стандартам
    Ответ написан
    Комментировать
  • Как выбрать элементы удовлетворяющие условию выборки?

    Lynn
    @Lynn
    nginx, js, css
    Поиграть со селекторами nth-child и nth-last-child.

    Для начала попробуем выбрать первый элемент последнего неполного ряда. Селектор :nth-child(3n + 1) выберет нам первые элементы каждого ряда.

    Теперь надо ограничить этот список только последним рядом. Видно что нужный нам элемент всегда первый или второй с конца. Так и запишем :nth-last-child(-n + 2).

    В итоге получили селектор :nth-child(3n + 1):nth-last-child(-n + 2).
    Ну а дальше воспользуемся селектором ~ что бы выбрать все (в вашем случае не больше одного) элементы которые идут после уже выбранного.

    Получается вот такой код:
    li:nth-child(3n + 1):nth-last-child(-n + 2),
    li:nth-child(3n + 1):nth-last-child(-n + 2) ~ li {
      .....
    }


    UPD: если надо что бы последний ряд выбирался всегда, даже если он полный, то надо заменить -n + 2 на -n + 3.

    UPD2: можно пойти немного другим путём и выбирать все элементы после последнего элемента в полном ряду. Получится вот так:
    li:nth-child(3n):nth-last-child(-n + 3) ~ li {
      .....
    }


    Ответ написан
    Комментировать
  • Как верстать блок необычной формы адаптивно?

    sh3mahan
    @sh3mahan
    что-то вроде веб-разработчика
    Как уже в комментариях писали, можно сделать максой с радиальным градиентом, а тень с помощью фильтра drop-shadow(), накинул пример:
    Ответ написан
    Комментировать
  • Как получить промежуточное значение между двух слов?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Без регулярки:
    const url = 'www.site.ru/users/agent/512/list/france';
    const parts = url.split('/');
    const agentIndex = parts.indexOf('agent');
    const value = parts[agentIndex + 1];
    console.log(value); // 512

    с регуляркой:
    const url = 'www.site.ru/users/agent/512/list/france';
    const match = url.match(/\/agent\/(\d+)\/list/);
    const value = match ? match[1] : null;
    console.log(value); // 512
    Ответ написан
    Комментировать
  • Ошибка при импорте фото в Apple Photos. Как исправить?

    @AndrewDram Автор вопроса
    Переформатировал SSD в APFS и импорт завелся.
    Ответ написан
    Комментировать
  • Как сделать такие кнопки на css?

    KataevAS
    @KataevAS
    Пусть это будет как не идеальный пример с пространством для творчества и развития https://codepen.io/KataevAS/pen/zYXpdoV
    Ответ написан
    1 комментарий
  • Как скруглить низ изображения?

    Get-Web
    @Get-Web Куратор тега CSS
    Front-End Developer
    Накидал на скорую руку, один из вариантов:

    Все зависит от того какие изображения будут и какие позиции они должны занимать. Для гибкости и адаптивности, нужно немного подумать над формулами, но основная суть думаю ясна.
    Ответ написан
    Комментировать