• Где можно найти звуковые эффекты для сайта?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    На freesound.org есть много всего, в том числе и звуки разных кнопок (по запросу "button").
    Ответ написан
    Комментировать
  • Как добавить автоматическое добавление квадратов на CSS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Ну строго говоря для решения задачи "на CSS добавить внутри квадрата квадраты меньше и другим цветом" достаточно одного div-элемента (нет нужды добавлять новый элемент на каждый декоративный квадрат).



    Но лучше все же уточнить у задавшего вопрос, что значит "не стереть локти" в его понимании.
    Ответ написан
    Комментировать
  • Как импортировать 3D модель и крутить ее в three.js?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Очень рекомендую почитать статью про трехмерные презентации товаров на Three.js и разобраться с примером из нее. Там речь в частности идет про загрузку и отображение модели и вращение камеры вокруг нее.
    Ответ написан
    6 комментариев
  • Обтекание текстом фиксированного блока?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    На CSS такое обтекание никак не сделать. Но можно пойти одним весьма хитроподвывернутым способом - продублировать текст и скроллить два блока с контентом одновременно. Как в этом примере, только в одной плоскости, без "перевернутой" трансформации:



    Это позволит сделать плавное движение, без рывков при перестроении элементов в DOM-дереве.
    Ответ написан
    3 комментария
  • Математическое ожидание?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Откуда в конце взялось (16-1)

    См. определенный интеграл и формула Ньютона — Лейбница.

    почему х^2 превратился х^4?

    См. список интегралов элементарных функций.
    Ответ написан
    Комментировать
  • Для каких проектов стоит подключать reset.css?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    У браузеров есть встроенные стили (user agent stylesheets), которые они применяют к элементам на страницах по умолчанию. И эти стили у разных браузеров разные. Это не сразу бросается в глаза, но отличий там довольно много. И эти отличия вынесут вам мозг при тестировании любой более-менее сложной верстки.

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

    Есть альтернативный вариант с ресетами, когда сбрасывается все подряд без разбора. Что лучше, normalize или ресеты - это больше вопрос личных предпочтений и привычек, но не использовать ничего из этого - это верный путь к поиску таинственных багов, когда в одном из множества браузеров что-то внезапно не работает, хотя по идее должно.
    Ответ написан
  • Как заставить взаимодействовать два соседних тега друг с другом?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вероятно вам нужно использовать "+":
    nav:hover + section
      left: 170px
    Ответ написан
    1 комментарий
  • Фигуры на чистом css или svg?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Давайте посмотрим с разных сторон:

    С одной стороны SVG можно нарисовать в графическом редакторе - для замороченных фигур это будет проще, чем пытаться нашаманить их на CSS.

    С другой стороны - для простых фигур быстрее может быть их сверстать, чем идти куда-то, открывать редактор, что-то там мышкой кликать, сохранять, копировать и.т.д. Ну а если быстрее - то выбор очевиден.

    С третьей стороны может быть соглашение в компании относительно верстки и в нем этот момент может быть описан (скорее всего в пользу SVG). Тогда ничего не придумываем и действуем в соответствии с ним - постоянство в коде очень важно для его поддержки.

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

    С пятой стороны могут быть анимации у этих элементов. Там нужно смотреть, но иногда вариант с SVG можно будет анимировать как задумано, а вариант на CSS - нет.

    С шестой стороны есть вопрос производительности. Часто для имитации одного элемента в SVG нужен десяток-другой элементов, стилизованных с помощью CSS. А если таких элементов на странице сотни (и они превращаются в тысячи), то это начинает влиять на скорость применения стилей к странице.

    Итого: иногда CSS - это быстрый и надежный вариант. Но у него есть ограничения, так что на практике SVG используется для этих задач чаще. И да, проверять кроссбраузерность стоит в любом случае.
    Ответ написан
    Комментировать
  • Position: fixed; - фиксирует элемент не на экране, а в родительском блоке. Как исправить?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Без кода сложно говорить, но третий глаз подсказывает, что скорее всего у родительского блока задано свойство transform, filter или will-change. Уберите его и все встанет на свои места.
    Ответ написан
  • Как сверстать эту магию?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вариант, предложенный Максим Ленский не адаптивный и ломается при изменении контента, так что предложу свой.

    Треугольники можно было упустить, не в них суть)


    Ну ну совсем так. При верстке таких сайтов важно сохранять контекст, в котором был дизайнер (если с ним есть контакт, то лучше все обсудить с ним, но в нашем случае пример в вакууме, так что думаем сами). Конкретные размеры обычно не так важны, как контекст. Здесь его задает равномерная линия между треугольниками и ее важно сохранить. Исходя из этого соображения нужно посчитать, какого размера должны быть треугольники, чтобы все влезало и "было красиво", учитывая, что высоты всех блоков могут меняться. CSS у нас не дает возможности делать вычисления исходя из высоты соседних элементов, так что придется добавить щепотку JS. Ну а дальше - дело техники.

    5e202e499c905300447523.png

    codepen.io/sfi0zy/pen/zYxJNmG.
    Ответ написан
    5 комментариев
  • Как изменить код чтобы он работал?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    term does not evaluate to a function taking 2 arguments


    a = max(b, c, d);

    Стандартная функция max из algorithm не имеет варианта для поиска наибольшего из трех чисел в таком виде. Есть для двух. Если нужно для трех - вам придется написать такую функцию самостоятельно. Ну или загуглите "cpp max of 3 numbers".
    Ответ написан
    1 комментарий
  • Как работает async js?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    У тега script кроме атрибута async есть еще defer. Скрипты с этим атрибутом загружаются все асинхронно, но выполняются потом в том порядке, в котором записаны в html (только они все должны быть отдельными файлами, не инлайновыми скриптами).

    Также, если у вас уже есть много скриптов, да еще и месиво из инлайново вставленных и асинхронно подгружаемых, причем все друг от друга зависят и оперативно это не починить, то можно организовать маленькую систему событий, которая будет в себе хранить информацию о том, кто загрузился, а кто - нет (чтобы не получился классический callback-hell). Она должна быть первым скриптом на странице. А загрузившиеся потом скрипты будут ей сообщать "я загрузился", а потом у нее спрашивать "ну что, вон тот уже загрузился?" а она такая "да", и они будут выполняться сразу, или "нет, пока нет", а они такие "ну ок, когда загрузится, скажи". Что-нибудь в таком духе. Также эта штука может помогать при отладке, чтобы понимать, что реально произошло на странице, а что еще нет.
    Ответ написан
    7 комментариев
  • Почему некорректно отображаются SVG на странице?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    если добавляю 1-2 svg, то все норм, но стоит добавить больше, то во-первых на некоторых изображениях какого-то фига меняется цвет заливки, во-вторых некоторые элементы одного SVG файла не отображаются.

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

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Без работающей демки сложно говорить, но там много раз повторяется следующая конструкция:
    // Hide typebox
    if (this.options.use_typebox)
        this.typebox.empty();
    
    // Hide new result list
    if (this.options.use_listbox)			
        this.listbox.setStyle('display', 'none');


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

    var myAutocompleter = new GooCompleter(/*...*/);
    
    if (/* что-то случилось */) {
        myAutocompleter.typebox.empty();
        myAutocompleter.listbox.setStyle('display', 'none');
    }
    Ответ написан
  • Linux несколько вопросов от новичка, посвятите?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Кто уже долгое время юзает линукс, как вам?

    6 лет, полет нормальный.

    Удобно ли для веб-разработки

    Да.

    Как работает Steam?

    Работает.

    Есть ли возможность работать с MS Office( >=2007)?

    Можно экспортировать документы из LibreOffice в необходимых форматах.

    Наслышан про Ubuntu, ее выбирать и какой версии?

    Если брать Ubuntu, то только LTS (18.04 на текущий момент). Но я бы лучше взял Elementary OS.
    Ответ написан
    Комментировать
  • Периодическое мерцание элементов?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В postcss-trolling есть готовая CSS анимация под вашу задачу. Нужно лишь задать разный animation-delay элементам (возможно с помощью :nth-of-type или :nth-child).
    Ответ написан
  • Как решить проблему с babel?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Попробуйте использовать пресет не "env" из "babel-preset-env", а "@babel/preset-env" из одноименного пакета.
    Ответ написан
    5 комментариев
  • Как экспортировать svg в Avocode?

    sfi0zy
    @sfi0zy Куратор тега Вёрстка
    Creative frontend developer
    Картинка растровая - вы хотите ее экспортировать в виде векторной. А программа вам говорит, что даже в векторном виде она все равно будет "квадратиться" при увеличении. Автоматические конвертеры не умеют угадывать, какие именно кривые на маленькой картинке подразумеваются, и в лучшем случае переносят каждый пиксель как прямоугольник. На больших постеризованных картинках еще можно что-то нашаманить, но на маленьких - увы, нет. Так что в вашем конкретном случае сам факт конвертирования маленькой иконки в SVG не имеет смысла. Качества там не будет. Используйте растровую иконку как есть, или просите дизайнера нарисовать сразу в векторе, если нужна именно векторная.
    Ответ написан
    1 комментарий
  • Как реализуется верстка этажей SVG?

    sfi0zy
    @sfi0zy Куратор тега Вёрстка
    Creative frontend developer
    Буквально на днях написал статью о том, как все это делается: Делаем интерактивный план местности за 15 минут. Там все основные вопросы и проблемы разобраны. Конкретно в вашем случае скорее всего (без кода не угадать) нужно перебивать ранее заданные стили, либо добавить заливку контурам, где ее нет - умные браузеры не всегда распознают наведение мыши на не залитые элементы в SVG.
    Ответ написан
    1 комментарий
  • Как реализовать такую расстановку блоков на FlexBox CSS?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    С помощью чего и как можно реализовать вот такую расстановку блоков?

    На ум сразу приходит masonry.
    Ответ написан
    Комментировать