Ответы пользователя по тегу Веб-разработка
  • Быстрота загрузки с большим количеством изображений Safari?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    До нормальной поддержки нативного lazyload ещё как до Китая пешком.

    Используйте:
    https://github.com/aFarkas/lazysizes

    Инициализация (её даже можно вообще пропустить) и настройка в несколько строк кода. Плагин сам следит за новыми элементами на странице, поддерживает picture.
    Ответ написан
    Комментировать
  • Код, изменяющий оформление элементов, срабатывает только один раз. Почему?

    SmthTo
    @SmthTo Куратор тега HTML
    Все перепёлки мира будут оплакивать мою смерть.
    Упрощать ваш код с телефона нет желания, но это будет работать.

    Ответ написан
    2 комментария
  • Отладка на непопулярных браузерах?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Скачиваете специальную версию UC Browser для разработчиков на телефон, подсоединяете телефон к ПК и отлаживайте сайт через Chrome:
    https://medium.com/@hdsna/how-to-debug-uc-browser-...

    Лично я так и делал, когда два раза верстал для Китая.

    Плюс, у них есть какое-то своё ПО для отладки (я не пользовался):
    https://plus.ucweb.com/docs/pwa/docs-zh/xy3whu?loc...
    Ответ написан
    Комментировать
  • Как сделать так, чтобы незадолго до того, как курсор дойдет до пункта меню оно уже подсвечиволось и на него уже можно было нажать?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Дополню, что можно ещё использовать вот такой хак, если нужно не менять габариты (padding и другие манипуляции их увеличивают), но при этом увеличить зону действия элемента:



    Да, я сам дошёл до такого полезного и смешного костыля. Удобно использовать с мелкими единичными кнопками, у которых нужно сохранить небольшие габариты, но увеличить зону действия. Ну и т. п.
    Ответ написан
    1 комментарий
  • Как реализовать нумерацию абзацев?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    На всякий случай напоминаю, что это можно сделать автоматически тупо на CSS (CSS Counter with Decimal Leading Zero):



    На JS можно так (спасибо Интернету):

    Ответ написан
    2 комментария
  • Какой font-display нужен Гуглу чтобы он заткнулся?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    Гайд по ссылке помогает получить доп. баллы от Google и в целом доп. увеличить скорость рендеринга сайта. Данный гайд при этом не является панацеей от данной ошибки, но скорость первичного отображения сайта как таковая от следования ему только увеличивается.

    Появление данной ошибки в случае соблюдения всех рекомендаций и оптимизаций — скорее всего является недоработкой алгоритмов.
    Ответ написан
    Комментировать
  • Как описать текст окружностью?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Ответ написан
    Комментировать
  • Что происходит со шрифтом на сайте и в photoshop?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    Это разница между движками рендеринга шрифтов в ОС и Photoshop'е. Плюс, браузеры вносят свою лепту.

    Чтобы было как на fonts.google.com, добавьте это в CSS:
    html, body {
    	-webkit-font-smoothing: antialiased;
    	-moz-osx-font-smoothing: grayscale;
    }

    Более ничего вы сделать не сможете.

    Update. Ну можно, конечно, хернёй помаяться ещё со следующими свойствами:
    -webkit-text-stroke: 0.4px rgba(0, 0, 0, 0.1); /* Сильно влияет на рендеринг (условно, т. к. сам механизм рендеринга навряд ли меняет), аккуратнее с этим свойством */
    text-shadow: #fff 0px 1px 1px; /* Да, LOL, оно тоже влияет на рендеринг */
     text-rendering: optimizeLegibility; /* Так и не понял результат работы  вот этого */
    Ответ написан
    6 комментариев
  • Как в зависимости от устройства (пк, телефон) загружать нужные css стили?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    Код ниже рабочий, вам нужно только свои значения вставить. Все благодарности сюда. Функция срабатывает только один раз при загрузке.

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

    // Функция загрузки CSS или JS, править не нужно.
    function loadjscssfile(filename, filetype) {
        if (filetype=="js") { //if filename is a external JavaScript file
            var fileref=document.createElement('script')
            fileref.setAttribute("type","text/javascript")
            fileref.setAttribute("src", filename)
        }
        else if (filetype=="css") { //if filename is an external CSS file
            var fileref=document.createElement("link")
            fileref.setAttribute("rel", "stylesheet")
            fileref.setAttribute("type", "text/css")
            fileref.setAttribute("href", filename)
        }
        if (typeof fileref!="undefined")
            document.getElementsByTagName("head")[0].appendChild(fileref)
    };
    
    // Вот тут нужно править под конкретные нужды.
    function appendAssets() {
        if (window.innerWidth <= 767) {
            loadjscssfile("small.css", "css"); // передаем в функцию путь до файла и расширение
        }
        else if (window.innerWidth <= 1299 && window.innerWidth >= 768) {
            loadjscssfile("medium.css", "css"); // передаем в функцию путь до файла и расширение
        }
        else if (window.innerWidth >= 1300) {
            loadjscssfile("big.css", "css"); // передаем в функцию путь до файла и расширение
        }
    };
    
    // Инициализация конечной функции 
    appendAssets();
    Ответ написан
  • Почему мобильные версии сайтов иногда делают на поддоменах, а иногда нет?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    Критерий один — сложность разработки и поддержки этого всего. Если у сайта изначально нет адаптивности, если его разметка препятствует адаптивности, если используется куча сложных затратных скриптов, которые на телефоне в мобильной версии не нужны, — используют мобильную версию для упрощения задачи.

    Если же сайт изначально адаптивный, то сами понимаете.

    В принципе, любой сайт можно сделать адаптивным, вопрос в стоимости разработки и поддержки такого решения. Порой там такие legacy-решения тянутся, что мама не горюй. Проще, дешевле и быстрее сделать отдельную мобильную версию.
    Ответ написан
    Комментировать
  • Автовёрстка HTML & CSS. Стоит ли?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Удобно? Хм…

    Ну раз удобно, попробуйте использовать выданный ими код в реальном проекте — сразу всё поймёте :))

    Почесать собственную спину с помощью мизинца на ноге — и то удобнее будет.
    Ответ написан
    9 комментариев
  • Как называется такой эффект?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    2 комментария
  • Можно ли школьнику лет 12 начинать самому изучать web-программирование?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    Да, можно, почему нет?

    Если теребонькать в этом возрасте уже вовсю можно, почему бы и программированием не заняться? Не вижу никаких проблем и потенциальных преград для занятий в этой интеллектуальной сфере и в данном возрасте.

    Вот я в этом возрасте только теребонькал, поэтому потерял много времени, а жаль (на самом деле — не жаль, LOL).
    Ответ написан
    Комментировать
  • Как наладить процесс разработки?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    Да особо никак. Весь ваш рабочий процесс — череда производственного хаоса, непонятных ТЗ, требований несведущего руководства и отсутствие менеджера проекта. И вот в рамках этого вы должны работать без относительно чёткого плана, без простроенной системы коммуникации, обязанностей.

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

    SmthTo
    @SmthTo Куратор тега Вёрстка
    Все перепёлки мира будут оплакивать мою смерть.
    У меня есть машина, мне надо её починить. Она плохо едет. А вроде бы и не так уж плохо. Всё зависит от дороги!

    Вроде бы все колёса на месте, когда я проверял, но я точно не знаю. Был какой-то звук, когда ехал, он звучал как-то так: «Пукх» (примерно). Какая модель машины — тоже не знаю. Да и вообще, я вам её не покажу. Может быть проблема в руле, а может быть из-за насоса. Какого именно — не знаю.

    P. S. Даже не думайте, машину я вам показывать не стану.
    Ответ написан
    4 комментария
  • Как выравнивать текст по нижней границе div?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Типичная задача.

    Для родителя:
    display: flex;
    flex-flow: column wrap; (чтобы в колонку)
    justify-content: space-between; (распределяет дочерние элементы равномерно в рамках родительского блока)

    А для детей нужно подбирать параметры свойств flex-grow, flex-shrink и flex-basis (например, flex: 1 0;), чтобы нужные элементы росли по высоте, заполняя пространство, а нижний элемент с ценой — нет.

    Пришлите код, иначе будет сложно сказать, что куда подставить. Возможно, нужно будет разметку менять. Скорее всего, flexbox так же будет необходим на всём блоке, чтобы колонки с текстом и фото были равны по высоте.

    https://jsfiddle.net/w1pzu5rh/1/.
    Зоны выделил разными цветами. Верстка на коленке, но алгоритм будет понятен. Под реальности проекта нужно, конечно, подстроить (ту же минимальную высоту поставить блоку, если нужно, реальные размеры, верстку и т. п.).
    Ответ написан
  • Как уменьшить вес шрифта?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    1. Программа FontForge, к примеру.
    https://fontforge.github.io/en-US
    С её помощью нужно будет убрать ненужные глифы, экспортировать полученный шрифт в OTF.

    2. Потом прогнать полученный файл через, к примеру, это:
    https://transfonter.org
    Для вэба подойдёт универсально WOFF, но лучше отметить TTF, WOFF и WOFF2 (всё равно грузиться будет один нужный и определенный самим браузером). Скачать полученный архив (шрифты + CSS) и подсоединить их в проект.

    P. S. Дополнительно сжать шрифты можно путём ручного редактирования глифов, если они содержат много артефактов, лишних опорных точек и т. п. Как правило, таких шрифтов нет, если они не самопальные, конечно.
    Ответ написан
    2 комментария