• Как правильно устанавливать одинарные кавычки в data-атрибуте?

    @choupa
    Архитектор (обычный, который строит)
    Заэкранируйте апостров в Golf\'s. А где надо, разэкранируйте назад.
    Ответ написан
    2 комментария
  • Как избавиться от наложений border`ов друг на друга?

    Да много чего можно, в принципе.

    1. использовать outline вместо border
    2. сделать margin-left: -1px у всех не первых карточек в строке
    3. сделать margin-right: -1px у всех не последних карточек
    Ответ написан
    1 комментарий
  • Возможно ли использовать LocalStorage для отдельных страниц?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Из вопроса не очень понятна задача.
    Но, скорее всего, вам просто нужно добавить в ключ адрес страницы: {"/articles/42-your-item": "foo"}
    При чтении, соответственно, добавлять этот адрес к ключу.
    Ответ написан
    Комментировать
  • Как узнать процент оставшего времени?

    @DanKud
    $start_time = 1538388000; /* стартовое время отсчтеа 01-10-2018 */
    $time = time(); /* текущее время */
    $end_time = 1540892639; /* время окончания 30-10-2018 */
    
    $diff_time = ($end_time-$start_time); /* разница времени между 01-10-2018 и 30-10-2018 */
    $left_time = ($end_time-$time); /* осталось время до 30-10-2018 */
    
    $left_procent = round((($left_time/$diff_time)*100), 0); /* осталось времени в % между интервалом 01-10-2018 и 30-10-2018 */
    echo $left_procent.'%';

    Конечно если у вас $start_time будет текущее время, то и результат всегда будет 100%
    Ответ написан
    Комментировать
  • Как узнать процент оставшего времени?

    @choupa
    Архитектор (обычный, который строит)
    У меня разрыв шаблона. Неужели человек с таким знанием арифметики программирует на PHP?!

    $interval = $end_time - $start_time;
    $time = time() - $start_time;
    echo "прошло: ".round( 100 * $time / $interval )."%<br>";
    echo "осталось: ".round( 100 - 100 * $time / $interval )."%<br>";
    Ответ написан
    Комментировать
  • Увеличивает ли padding ширину блока?

    lambesis
    @lambesis
    Слабоумие и отвага!
    Если ширина фиксирована, она меняться не будет. Блок внутри будет подстраиваться под родителя.
    Если внутреннему блоку жестко задать ширину превышающую ширину родительского - он будет вываливаться, но ширина родительского блока все равно останется 300px,
    Ответ написан
    2 комментария
  • Группировка (оптимизация) классов и стилей CSS на выходе из WebPack 4?

    potapchino
    @potapchino
    Хотелось бы оптимизировать все классы
    это называется не оптимизация, а «я нифига не понимаю че происходит»

    до «оптимизации»
    <div class="class_3 class_2"></div> // 1px

    после «оптимизации» (которую вы ожидаете) ширина сломается, т.к. class_2 уедет вверх:
    <div class="class_3 class_2"></div> // 2px

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

    Nikita-Fast
    @Nikita-Fast
    SVGшник и леплю что попало
    Ответ написан
    Комментировать
  • Как на JS перезагрузить битые картинки?

    YumeReaver
    @YumeReaver
    Бургомистр
    Если изображение не найдено - срабатывает событие $('img').error(function() Лучше обработчик вытащить в тело функции.
    Ответ написан
    7 комментариев
  • Как сверстать блок - картинка с текстом?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Используй SVG. Там и взаимодействие можно настроить и адаптивность, если постараться. Но, сколько часто мне попадаются на глаза сайты с таким, там не запариваются с адаптивностью такой мотни. Чем ты хуже остальных?)
    Ответ написан
    Комментировать
  • Как сверстать блок - картинка с текстом?

    Ranwise
    @Ranwise
    position: absolute;

    но наверно такая диаграмма может рисоваться с помощью js
    Ответ написан
    Комментировать
  • Как сделать background для navbar?

    Nikita-Fast
    @Nikita-Fast
    SVGшник и леплю что попало
    на градиентах можно

    Ответ написан
    Комментировать
  • Почему foo.x === undefined?

    rockon404
    @rockon404
    Frontend Developer
    Все достаточно просто, хоть и не совсем очевидно.
    Выражение:
    foo.x = foo = {n: 2};
    равносильно:
    foo.x = (foo = {n: 2});

    Мы присваиваем объекту по идентификатору foo свойство x, которое равно результату операции присваивания идентификатору foo ссылки на объект { n: 2 }.

    Чтобы в этом убедиться достаточно добавить переменную bar, присвоить ей начальное значение foo и вывести в конце:
    let foo = {};
    
    const bar = foo;
    
    foo.x = (foo = {n: 2});
    
    console.log(foo.x === undefined);  // true
    
    console.log(bar);  // { x: { n:  2 } }
    
    console.log(bar.x === foo);  // true


    Ключевые отличия операций присваивания, которые важно понимать:
    foo.x = - присваивание свойства конкретному объекту. На момент вызова в нашем примере это {}.
    foo = - присваивание значения самому идентификатору foo. Это может быть примитив, ссылка на объект или функцию. В нашем случае это объект { n: 2 }.
    Ответ написан
    Комментировать
  • Как сделать треугольники чуть меньше?

    svistiboshka
    @svistiboshka
    живые веб интерфейсы
    вам не нужны 2 псевдоэлемента
    https://codepen.io/anon/pen/YJVMqv
    вынос сейчас 30px

    либо если нужен прозрачный фон то так
    https://codepen.io/anon/pen/jemRyP
    Ответ написан
    2 комментария
  • Кто может объяснить разницу между hyper и Tokio в Rust'е?

    hrls
    @hrls
    HTTP – протокол. Tokio – библиотека для написания сетевого кода, любого. Но парсить HTTP Tokio не умеет. Для этого есть Hyper – библиотека для написания HTTP серверов и клиентов. HTTP сервер на Hyper будет использовать Tokio для работы с соединениями, а парсить HTTP будет уже Hyper.
    В модели клиент-сервер очевидно есть клиент и сервер. HTTP клиент это все тот же сокет, только уже не серверный. Поэтому и тут Hyper может создавать запросы и парсить ответы. И также, возможно, для взаимодействия с сетью используя Tokio.
    Ответ написан
    Комментировать
  • Как добавлять и удалять элемент на страницу при уменьшении/ увеличении размеров экрана?

    kgb_zor
    @kgb_zor
    I need your traceback.
    Используй media-запросы
    Ответ написан
    Комментировать
  • Как распарсить строчку?

    Stalker_RED
    @Stalker_RED
    Вам не парсить нужно, а читать о переносах в html
    https://www.w3.org/TR/css-text-3/#white-space-proc...
    htmlboss.ru/beginner-lessons/lesson5

    Ответ написан
    Комментировать
  • Как исправить slide up?

    @skuvaWeb
    Transition нужно задать блоку, а не блоку в состоянии hover. К тому же учитывайте ховер на блок родителя, потому что из-за того что блок уезжает из-под курсора, ховер состояние.
    .box:hover .box-inner{
      margin-top:-360px;
      position: relative;
      box-sizing: border-box;
      transition: all 500ms ease;
    }
    .box-inner{
      transition: all 500ms ease;
    }
    Ответ написан
    Комментировать
  • Как исправить slide up?

    0xD34F
    @0xD34F Куратор тега CSS
    При наведении происходят непонятные скачки

    Понятные. Изменение положения элемента .box-inner завязано на его же :hover, так что когда он уезжает из-под курсора, состояние :hover теряется, элемент откатывается назад, под курсор, снова случается :hover, элемент опять едет вверх, ну и т.д. Надо смотреть :hover у элемента, который из-под курсора никуда не девается, т.е., у родительского:

    .box:hover .box-inner {
      margin-top: -360px;
    }

    Также, как сделать, чтобы при убирании курсора все возвращалось обратно плавно, а не резким скачком?

    Аналогично - transition должен присутствовать у элемента вне зависимости от наличия состояния :hover:

    .box-inner {
      transition: all 500ms ease;
    }
    Ответ написан
    Комментировать
  • Что читать про ресайз изображений?

    @tomatho
    Мне не хватает некоторых подробностей в вопросе.
    Всё же важнее "зачем" а не "что".
    Если вы хотите просто реализовать несколько разных методов ресайзов - открываете любой редактор который вам больше нравится, и смотрите список возможных методов ресайза.
    Читаете про них где-нибудь, например в той же Википедии, и реализуете их.

    Если же вы хотите понимать обработку изображений, то вам придётся черпнуть фундамент, и это будет тяжко.
    Придётся узнать о цветовых пространствах, о сэмплировании, о восприятии человеком света,
    и о ещё много много другом.
    Например качество результата можно определять по разному, но современный подход основывается на человеческом восприятии, и об этом можно наверно почитать в описании того как устроен JPEG, ведь он умеет сохранять в разном качестве. При высоком качестве он меньше "съедает" детали, чем при низком.
    Аналогичный теоретический подход в H.264 который используется в MP4.

    Почему я упомянул про сэмплирование, которое используется в звуке?
    Потому что изображение на самом деле просто сэмплированная версия непрерывной как бы двумерной волны, и каждый пиксель - это некоторая величина отклонения в позиции двумерной сетки.
    Следовательно теория волн (в том числе звуковых) вполне может использоваться и здесь.
    Собственно это то, что и делает Lanczos: использует метод resample звука на изображении, просто адаптированный под изображения.
    (Процесс resample звука это перевод из 44100 Hz например в 48000 Hz.)
    Ответ написан
    Комментировать