• Как при наведении на картинку сделать эффект затемнения?

    HamSter007
    @HamSter007
    HTML/CSS верстальщик
    Стандартно же, на любом сайте можно посмотреть реализацию.

    Обертка или ссылка, внутри изображение:

    <a href="#" class="img__link"> <img src="path" /></a>


    дальше используются псевдоэлементы:

    a { display: block; position: relative; }
    
    a:after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,.5);  opacity: 0; }
    
    a:before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url(icon-path); opacity: 0; }
    
    a:hover:before,
    a:hover:after { opacity: 1; }


    Второй вариант (больше подходит если вн. есть еще и текст описание):

    <a href="#" class="img__link"> 
      <img src="path" />
      <span class="img__mask"><i class="img__icon"></i></span>
    </a>


    Стили примерно те же:

    a { display: block; position: relative; }
    
    .mask { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,.5);  opacity: 0; }
    
    a:hover:after {
      opacity: 1;
    }
    Ответ написан
    1 комментарий
  • Горизонтальная линия css, как сделать правильнее (красивее)?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    Проблема с тегом <hr/> в том, что линия - это не контент, а дизайн. Соответственно, идеально, если дизайн рисуется при помощи css. А уж как конкретно рисовать линию зависит от разметки и дизайна конкретной страницы. Это может быть банальная граница, может быть box-shadow, могут быть псевдоэлементы с фоновой заливкой. Любой из перечисленных вариантов адекватен и имеет право на существование.

    P.S. Что-то не вижу, чтобы тег был объявлен устаревшим. Все атрибуты его порезали, но в спеке HTML5 он есть.
    Ответ написан
    Комментировать
  • Как сдвинуть 1 из flex элементов в конец строки?

    @Dlike Автор вопроса
    noobe
    Всем спасибо, самый топ вариант который подсказали:
    последнему элементу margin-left auto
    мб и не совсем верно, но просто
    Ответ написан
    Комментировать
  • Git, как обновить проект ?

    ghaiklor
    @ghaiklor
    NodeJS TechLead
    Если вы хотите обновить у себя
    git pull
    Если вы хотите залить изменения на удаленный git-репозиторий
    git push
    Ответ написан
    Комментировать
  • Зачем нужны исключения?

    crmMaster
    @crmMaster
    Вместо ожидаемого массива вы получите строку. Поведение функции не определено.

    Исключения можно обработать все, подобную хрень (извините за выражения, но по-другому это не назовешь) - не обработать никак.

    У исключения есть бектрейс, у вашего решения его нет - отследить как почему и откуда вылезла эта ошибка становится трудней.

    Исключения можно выбрасывать в любом месте, ваш подход требует пробрасывания ответа об ошибке до контроллера, что является грубым нарушением принципа инкапсуляции.

    Вообще, вопрос очень странный, джуниорам за такие вопросы надо проводить профилактическую беседу про ООП и обработку ошибок, а за подобный код - бить по рукам палкой.
    Ответ написан
  • Для чего нужен throw в JS?

    Xuxicheta
    @Xuxicheta
    инженер
    function скажиМяу(кот) {
      if (!кот.сказатьМяу) {
        throw new Error('это не кот и он не умеет говорить мяу, дурень');
      }
      кот.сказатьМяу()
    }

    вот примерно для этого
    Ответ написан
    Комментировать
  • Односвязные списки. Удаление элемента?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Если это не последний элемент, то присваиваем в него значение из следующего, потом удаляем следующий
    Ответ написан
    2 комментария
  • Односвязные списки. Удаление элемента?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Только если вам известен ПРЕДЫДУЩИЙ элемент. Иначе за честные О(1) вы из односвязного списка ничего не удалите.

    Можно амортизационно удалить за О(1) просто пометив этот элемент удаленным. Но тогда все функции, которые проходятся по списку, должны такие помеченные элементы действительно удалять во время прохода.

    Суммарное время работы алгоритма будет как если бы удаление было за О(1). Но некоторые отдельные операции могут быть сильно медленнее, чем при честной константе. Например, если вы кучу раз добавите элемент в начало списка и тут же удалите, то потом вывод списка будет медленным, несмотря на то, что список должен быть пустым.

    Но на практике этот метод, наверно, не применяется. Потому что вы же где-то берете указатель на удаляемый элемент. Обычно можно вместе с ним получать и указатель на предыдущий. Или тупо использовать двусвязные списки.
    Ответ написан
    1 комментарий
  • Проблема с циклом for.Почему зацикливается программа?

    EgoSab
    @EgoSab
    Web-developer
    Загадка от Жака Фреско во вложенном цикле while :)

    У тебя переменная a имеет функциональную область видимости, то есть твоё a=2 эквивалентно var a = 2;

    Окей, у тебя есть цикл for(a=2;a<=10;a++), где он делает 9 итераций (по задумке), однако есть вложенный цикл while, который и даёт вечную петлю этому коду, переприсваивая переменной a новое значение (a = a / 2).

    Итог: разберись с a = a / 2 в цикле while.
    Ответ написан
    3 комментария