Задать вопрос
  • Kак узнать сколько времени понадобится чтобы часовые стрелки пересекали друг друга?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    Вопрос, конечно, интересный, если бы ты его правильно сформулировал. Хотя я вроде и понял, что ты хочешь. Получить пересечение минутной и часовой стрелки, может и секундной. Первое, что приходит в голову — считать считать по заведомо известному соотношению движения по окружности стрелок до их совпадения. Таким образом ты получишь размер пути минутной стрелки, чтобы она догнала часовую. То же самое с секундной.

    К слову, я глянул в гугол и надо же, алгоритм легко гуглится, если правильно задать вопрос.
    Ответ написан
  • Почему в некоторых случаях не указывают класс в html, в частности для h5?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега HTML
    Руководитель frontend направления, предприниматель
    Вариантов несколько:
    1. Автор пролюбил класс, но успел начать.
    2. Класс очищается JS
    3. Автор перенес откуда-то из доков верстку, но ему показалось, что классы лишние, а убирать сам атрибут не стал.
    4. Автор мазохист и ловит только h5, у которых есть атрибут class (читай подробнее в селекторах)
    5. Автор просто идиот.
    6. Класс раздается автоматически, например, бэком, и условие при рендере не выполнено, отчего класс оказался пустым.
    7. И т.д.

    Автор кода, верстала т.е.
    Ответ написан
    1 комментарий
  • Как сверстать правильно?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Адаптивность в bootstap достигается добавлением ключа медиазапроса, например col-md-3. Сейчас я вижу правило col-3, а оно работает для абсолютно всех разрешений. По тому же принципу делаются и отступы mb-md-[n].

    Колонки, которые находятся внутри .row по умолчанию имеют размер на всю высоту, это свойства flex. Собсно, углубись в матчасть, чтобы понимать, как это работает. Row → родитель, col- → ребенок flex-а.

    PS: если ты задашь schema-block, который находится внутри col, то получишь почти такую же верстку, как и во втором варианте + отступы слева и справа, которые формируются стилями bootstrap.
    Ответ написан
  • Как отобразить оценку (рейтинг) товара в выдаче запроса гугл?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    Используя микроразметку на базе отзывов для создания поискового сниппета. Если что, поиск может покласть болт на твою разметку по двум причинам:

    1. Ты сделал что-то криво.
    2. Просто.

    Первый вариант наиболее вероятен.
    Ответ написан
    Комментировать
  • Почему при использовании свойства flex один элемент растягивается по высоте из-за рядом стоящего?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    align-items по умолчанию stretch. Тебе необходимо указать align-items: center родителю или align-self: center квадрату.

    И спеку почитать.
    Ответ написан
    3 комментария
  • WordPress. Как установить несколько логотипов?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Если это чистый WP, то дописать ему логику. Если фреймворк типа Unyson, то еще проще.

    Впрочем, скорее всего овчинка выделки не стоит и проще зашить это в шаблон.
    Ответ написан
    Комментировать
  • Как поднять текст в угол?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега HTML
    Руководитель frontend направления, предприниматель
    Для управления вертикальным положением контента в таблице использовалось valign. Но оно вышло из употребления, поэтому обратись все же к стилям.
    Ответ написан
    Комментировать
  • Как бороться с undefined?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    Тут немного для ума. А перед выводом достаточно доступно проверять тернарником, например:
    ...
    ocum += `<td>${cars[car].color ? cars[car].color : ''}</td>`;


    Или чуть жестче:
    ...
    ocum += `<td>${typeof cars[car].color != 'undefined' ? cars[car].color : ''}</td>`;


    Сравнивать да, надо со строкой, а при проверке получишь булево значение. Первый вариант проще и сработает даже, если у тебя false стоит. Может быть даже, если Null прилетел (не уверен), а второй ждет именно значение, или «не определено». Т.е. если придет false, то он его пропустит.
    Ответ написан
    7 комментариев
  • Как на vue реализовать зажатие по элементу?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    <... @mousedown.prevent="method" ...>
    А уже в методе засекать время, например и по условию удалять или нет. Все очень просто.

    Читать тут и тут.
    Ответ написан
    4 комментария
  • Отложенная загрузка при скроле вниз?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    intersectionObserver. Смело пользуй, если осел не нужен, а если нужен, то и полифил есть.
    Ответ написан
    Комментировать
  • Вытащить вопросы/ответы?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега JavaScript
    Руководитель frontend направления, предприниматель
    Нус, смотри. Я вижу тут асинхронную загрузку, т.е. где-то в коде ты можешь найти обращения к API. Так как скорее всего у тебя будет ряд проблем в том, чтобы спарсить данные с такого сайта, то ты можешь покопаться в исходниках открытых (JS исходники это чаще всего, как открытая ладонь), и найти эти самые обращения и условия получения данных.

    А может быть даже найдешь документацию к API, если хорошо поищешь.
    Ответ написан
    Комментировать
  • Как сделать чтобы при разных разрешениях менялся текст?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    display:none на разрешениях, где текст не нужен.

    Сам текст в контенте указать весь и прятать ненужный. Либо запихнуть его в after\before, если он захардкожен. Ну как варик.
    Ответ написан
    Комментировать
  • Как написать текст по верх фонового видео?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Чтобы управлять положением «ближе\дальше» используй z-index. Значение relative входит во flex-поведение по умолчанию.
    Ответ написан
    Комментировать
  • Как убрать тень сверху?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    box-shadow: 0 0
    Первые два параметра отвечают за смещение по X и Y соответственно. По ним и смещай.
    Ответ написан
    Комментировать
  • Как сформировать nth-child?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Не поверишь) Но вот так. Ну и учти, что следующий после каждого четвертого это 8-й. Специфичность стилей тебе в помощь.
    Ответ написан
    Комментировать
  • Возможно ли реализовать такое с помощью гридов?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Присыпать немного JS и все бует окей. Может быть даже тебе поможет masonry. Хотя ему абсолютно насрать на то, какой у тебя метод позиционирования элементов, он сделает их абсолютным. Так что лучше свой алгоритм набросать.

    В CSS помогут только селекторы. Но там ты сможешь реализовать только логику типа «каждый n элемент делать две строки». Ну и придется посидеть посчитать, под какие разрешения какие условия загонять. Что реально, но немного геморрно на самом деле.
    Ответ написан
    Комментировать
  • Как разделить критический css?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    1. Средний по адкватности метод (без углубления в суть задачи) — в head вызывать критический CSS, а в подвале после всего остальное.
    2. Использовать хак типа такого для остального кода:
    <link rel="stylesheet" href="/css/style.css" media="none" onload="if(media!=='all')media='all'" >
    , с созданием fallback-а для случая, когда не включен JS.
    3. Генерировать вызов через document.write с помощью JS (но это по сути одна из вариаций и насколько я помню опасна тем, что безопасность браузером на такое триггериться, не уверен, поэтому просто прими к сведению).

    4. Просто адекватно подойти к генерации стилей и не грузить того, что не должно быть на странице. Читай как хочешь, хоть билд для каждой страницы свой (не самое лучшее, ибо кеш).

    UPD: В любом варианте, основной CSS должен грузится в head. А остальной код (если такой есть) какими-то иными способами.
    Ответ написан
  • Почему таблица не подстраивается под текст, а его переносит?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    При загрузке таблицы браузер анализирует контент и где можно перенести переносит.

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

    <tr>
      <td width="50">Сорт</td>
      <td width="250">Сечение(мм) /длина(м)</td>
      <td width="100">Цена, руб./м³</td>
    </tr>


    Но лучше это загнать в шапку и посмотреть в сторону назначения классов с размерами под разные разрешения.

    Либо попытаться запретить переносы.
    Ответ написан
    Комментировать
  • Как сверстать Radio Buttons?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Для начала, код — невалидное гавно. Смотри сюда, чтобы понять, почему. Кроме прочего, твои label ни к чему не обязывают (оно валидно, но кастрировано).

    А ответ да, сделать из этого, как на картинке можно. Приводишь в чувство верстку, скрываешь стилями input, делаешь декоративный список, и по селекторам уже ваяешь обвес для выбранного, деактивированного и т.д.
    Ответ написан