• Приведите пример самого экономного кода?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    На jQuery:
    https://codepen.io/tsymbal_su/pen/PoPKXGK


    css:
    section.active {
      display: block;
    }
    section:not(.active) {
      display: none;
    }


    js:
    jQuery(document).ready(function($){
    
      $("section:nth-child(1)").addClass("active");
    
      $(document).on("click","section.active button",function(){
        if ($(this).text()=="Next") {
          $(this).parents("section").removeClass("active").next("section").addClass("active");
        } else if ($(this).text()=="Back") {
          $(this).parents("section").removeClass("active").prev("section").addClass("active");
        }
      });
      
    })
    Ответ написан
  • Как заставить Chrome использовать правильный логин при обновлении пароля?

    AlexanderTsymbal
    @AlexanderTsymbal Автор вопроса
    tsymbal.su
    Ответ найден. Обязательно должно быть видимое поле (не type='hidden') с введенным логином. Его можно запретить к редактированию с помощью атрибута readonly, а также "спрятать" с помощью css.
    HTML:
    <input type="text" name="login" value="[ТЕКУЩИЙ_ЛОГИН]" class="no_need_to_show" readonly>

    CSS:
    .no_need_to_show {
        position: fixed;
        left: 0;
        top: 0;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: 0;
        border: 0;
        opacity: 0.01;
        pointer-events: none;
        /* еще можно отрицательный z-index, прозрачный background и т.д. */
    }
    Ответ написан
    Комментировать
  • Визуальный редактор bitrix удаляет теги?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Сталкивался. Бороться с редактором Битрикс бессмысленно.
    Тут 2 варианта:
    1. Запретить модераторам сайта, не имеющим опыта работы с html/php-кодом, трогать содержимое сайта. И самому редактировать и сохранять с выключенным редактором, только в режимах html/php-кода. Если клиент согласится на поддержку сайта на аутсорсе (в вашем лице) - то вам это даже хорошо, будет постоянная работа :).
    2. Организовать структуру редактируемых участков кода таким образом, чтобы <svg> и другие "нежелательные" для редактора битрикс теги не "встречались" с редактором. Это, конечно, повлечёт раздувание количества инклудов, что несущественно снизит скорость загрузки страниц. Но тем не менее, можно с чистой совестью отдавать проект клиенту, не боясь, что при первой правке что-то слетит к чертям :)
    Ответ написан
    Комментировать
  • Кастомные свойства (текст + файл)?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Реализовать такое, конечно можно. Но придётся очень сильно внедриться в ядро. Думаю, игра не стОит свеч.
    Лучше сделайте отдельный инфоблок для этого множественного свойства с множеством разных полей и при создании элемента в родительском инфоблоке создавайте "дочерние" элементы в этом отдельном инфоблоке, с привязкой к родительскому элементу.
    Такое решение предлагают сами разработчики битрикс. Ведь их интернет-магазин построен по принципу "Товар -> Товарные предложения". Первый инфоблок - родительский, второй - дочерний. У каждого товара может быть огромное количество товарных предложений с нужными параметрами.
    Да, это дополнительные запросы к БД, снижение скорости.
    Если всё правильно сделать, то в связке с кешированием будет всё хорошо и быстро работать.
    Ответ написан
    Комментировать
  • Почему изменился мобильный стиль при нажатии?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Это даже багом браузера назвать нельзя. Такая особенность.
    Если коротко, то проблема в том, что не проставлен метатег viewport, а у ссылок не задан font-size (Хотя бы относительный, в em или rem).
    Страница считается не mobile-friendly. Браузер в таких случаях может увеличить размер шрифта, чтобы было его удобнее читать. Но размеры отступов (у вас это 2em) браузер не пересчитывает и получается, что размер шрифта вроде нормальный, а размер отступов - уменьшенный (на самом деле, размер отступов нормальный, а размер шрифта - увеличенный - для удобства).
    После того, как вы взаимодействовали с элементом (ссылкой в вашем случае), производится его перерисовка, браузер понимает, что страница смотрится хорошо с текущим размером шрифта и устанавливает уже реальные отступы.
    На скриншоте ниже видно, что у нижних двух ссылок (я с ними взаимодействовал) отступ margin гораздо больше, чем у первых двух.
    Если сложно понять, то просто поставьте у body в стилях font-size и всё должно встать на свои места. :)
    a25541228d.jpg
    Ответ написан
    5 комментариев
  • Перейти с Java Android на PHP?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Привет.

    Не слушайте про то, что большая конкуренция на рынке и высокие требования к спецам. Главное требование заказчика - опыт и ответственность, на чём бы вы ни специализировались - php или java или даже самая банальная html-верстка.
    Все работодатели говорят разом о том, что у них дефицит it-специалистов по всем направлениям. Но из-за сложившейся сегодня ситуации, когда каждый второй студент-медик знает, как делать лендинги, найти толковых спецов становится всё сложнее.
    Мой вам совет. Поработайте пару лет по специальности, не напрягаясь, берите на фрилансе заказы по вашему профилю. Потом попробуйте устроиться в другую компанию (в которой вас будут уважать), но на более выгодных для вас условиях - ведь опыта и компетенций у вас будет гораздо больше, чем сейчас - хотите вы этого или нет! :) Вас оязательно возьмут - ведь у вас будет портфолио и опыт. Работа сама вас найдёт, если вы посвятите себя любимому делу - java/php/python/html-css/js/hardware - ВСЁ ЭТО ОЧЕНЬ ВОСТРЕБОВАНО. Может быть не конкретно в вашем городе, но в целом в русскоговорящем мире - ТОЧНО ДА!
    Удачи!
    Ответ написан
  • Почему открытие lightbox'a по клику, работает в определенном месте?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    У обертки текста, который перекрывает иконку, нужно добавить CSS свойство pointer-events: none; - это правило нужно в ситуациях, когда какой-то элемент должен присутствовать на странице, но события мышки (наведение, нажатия) проходили его насквозь, до слоя, находящегося под ним.

    https://jsfiddle.net/yu5dat2L/1/ - в этом случае добавил pointer-events к селекторам .thumbs:before (градиентная черная плашка) и .thumbs .caption (текст поверх).
    Ответ написан
    1 комментарий
  • Почему в хром между родительским и псевдоэлементом появляется полоска?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    1. проверьте, стоит ли у вас в браузере масштаб 100% (если нет, то установите на 100%)
    2. проверьте, используете ли вы свойства трансформации css (даже у родительских элементов) - имеется в виду transform: ... (если да, то пробуйте обойтись без них)
    3. проверьте изображения, может быть они так "нарезаны", что по краям появились полосы. (если полосы есть, то обрежьте картинки заново)
    4. проверьте, используются ли изображения в 100% масштабе. Судя по css, который вы привели в качестве примера, вы используете относительное расположение бэкграундных картинок (75%). Проверьте, какое число получается в вычесленных стилях (computed styles), если дробное - то, вполне возможно, эти доли пикселя и создают такое чудо.
    ...если ничто из вышеперечисленного вас не касается, то...
    4. у хрома достаточно кондовый графический движок: он съедает пиксели у мелких svg-иконок, округляет дробные значения, и т.д. Всё ради быстроты отрисовки - поэтому некоторые и называют хром самым быстрым браузером (новый firefox объективно быстрее). Но когда-то благодаря такому подходу хром и получил большую популярность (еще благодаря беспощадному маркетингу google). Пробуйте отказаться от текущего подхода, смотрите в сторону использования не растровых картинок, в svg, или банально блоков с css трансформациями.
    Ответ написан
    Комментировать
  • Как сделать кроссбраузерно эффект при наведении?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    И всё-таки, не очень изящно писать столько кода на JS, когда всё можно сделать 3мя строками CSS.

    Единственная поправка: я инлайновые стили из svg удалил, перенес их в css. Дурной тон - использовать инлайновые стили svg, который является частью интерактивного веб-интерфейса. Делайте как хотите.

    Ответ написан
    1 комментарий
  • Можно ли изменить порядок строк в электронном справочнике который отображается в браузере?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Только с помощью CSS, технологии FLEX, используя свойство order. Но это всё ручками надо делать.
    https://developer.mozilla.org/ru/docs/Web/CSS/order
    Ответ написан
    Комментировать
  • Как реализовать "хлебные крошки" с длинными названиями?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Задать максимальную допустимую ширину длинным пунктам хлебных крошек. Для каждого разрешения (моб/десктоп) можно отрегулировать максимальную ширину, чтобы умещалось по 2-3 пункта в строку. Это уже дело техники. Такой способ 100% поможет избежать непредсказуемых растягиваний.

    Ответ написан
    Комментировать
  • Как сделать меню на всю высоту экрана?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    дайте следующие css для блока с меню:
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100%;

    посмотрите, что получится. Возможно, дальше сами допишете.
    Я просто как отправную точку предложил. Основная штука - position: fixed; .
    Ответ написан
    Комментировать
  • Почему в режиме эмуляции мобильных устройств в chrome или mozilla едет вёрстка?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    У вас в main.js есть скрипт, который при ширине экрана 1185px и выше немного меняет верстку (добавляет svg и т.д.). А в CSS-файле правила для этих элементов срабатывают только при ширине экрана 1200px и выше. Поэтому решения 2:
    1. в css-файле заменить участки кода вида:
    @media (min-width: 1200px) {
        .services__list-menu,.services__profile {
            display:none
        }
    }

    на
    @media (min-width: 1185px) {
        .services__list-menu,.services__profile {
            display:none
        }
    }

    (для остальных неправильно работающих элементов тоже нужно заменить значение min-width с 1200 на 1185)

    2. в js-файле main.js (что лежит в шаблоне) найти и заменить совпадение "1185" на "1200". Но это более костыльный вариант, т.к. с этим значением работает целый плагин.
    Ответ написан
    1 комментарий
  • Как переопределить родные стили bootstrap через свой класс?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    создайте файл custom.css, подключите его ПОСЛЕ!!! вызова файла стилей bootstrap, в него пропишите:
    .stats_table {}
    .stats_table tr {}
    .stats_table td {}
    /* ну и так далее */

    перезаписывайте в этом файле отступы и другие свойства. Если отключите этот файл, стили вернутся к стандартным.
    Ответ написан
    1 комментарий
  • На чем лучше делать слайдер для сайта?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Изобретать велосипед не надо!
    kenwheeler.github.io/slick + jquery - И забудьте о подобных вопросах.
    jquery вы в любом случае подключите. Не сегодня так завтра. Всё и все работают на нем.
    Ответ написан
    2 комментария
  • Как задать зависимость кнопки от размера блока?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    вам поможет такая единица измерения как viewport width (vw). Задайте рутовому элементу (body, например), размер шрифта, к примеру, font-size: 1.4vw , и попробуйте масштабировать. 1vw - это 1% от ширины экрана браузера.
    вот пара живых примеров сайтов с версткой, опирающейся на ширину экрана:
    test7.tsymbal.su/index3.php
    babycarmebel.ru
    Ответ написан
    Комментировать
  • Почему не подключается js?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Точно сказать не могу (мало вводных), но судя по записи в консоли, сайт не может получить картинку "2map-marker.png", с которой потом как-то работает jquery, поэтому всё крашится. Посмотрите в панели разработчика вкладку network, исправьте все 404 ошибки и будет вам "щасте" :)
    Ответ написан
  • Скрывать ли поля имени и eMail в форме комментариев при их заполнении?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Тут уже вступают в действие правила UX

    Единственный минус первого варианта - неминималистичный дизайн. В остальном - он лучше, т.к., если на сайте оставляют комменты незарегистрированные пользователи, то надо дать пользователю иметь возможность поменять свои данные. Это норма.

    Может быть, под (а лучше над) полем комментария добавить надпись "Вы оставите коммент как USER" (или просто "как USER") и рядом ссылочка "Изменить мои данные" (в виде карандашика - будет идеально). Если пользователь нажал на карандашик, то увидел эти самые нижние поля.
    Ответ написан
    Комментировать
  • Верстка сайта под Китайские браузеры. Есть особенности?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    1. У них всё то же самое с браузерами, как и у нас gs.statcounter.com/browser-market-share/all/china
    2. bootstrap - вообще никак не относится к сайтам на китайском языке. Это только вас касается, т.к. bootstarp - это просто набор заготовок кода. Адаптивные сайты у них есть, т.к. есть мобильники (вы не поверите!). Сам делал адаптивку для них.

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

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

    Китайцы также любят wow-эффекты, но более прагматичны в плане их применения, т.к. ориентируются всё-таки на кроссбраузерность, а не на топ-гаджеты.
    Ответ написан
    4 комментария