• В чем отличие верстки под CMS (Wordpress/Joomla) от обычной верстки?

    viktorvsk
    @viktorvsk
    Когда кто-то пишет "верстка под ХХХ", то он просто хочет сбить цену.
    Есть прототип\концепт (над ним могут работать копирайтер, специалист по контекстной стратегии, информационные архтектор\дизайнер и т.д и т.п.)
    Есть дизайн, над ним работает дизайнер, художник, графический дизайнер
    Есть верстка, над ней работает верстальщик, который в простом случае верстает с картинки то, что видит, в сложном - он умеет не только jquery плагины подключать (хотя, иногда и не умеет и это, по сути, нормально), но и делать более сложные client-side штуки
    Есть программирование: в простом случае это установить цмс, скачать шаблоны\плагины, настроить. В сложном - взять цмс\магазин и скорректировать необходимый функционал\написать нужные плагины. Ну, или просто взять фреймворк и разработать проект.

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

    Каждый должен выполнять свою функцию. А если какие-то функции складываются, в этом, конечно, ничего такого нет, но по крайней мере каждая сторона должна понимать, кто какие функции выполняет и почему.

    Вывод: не ведитесь просто так на "верстка под ХХХ", делайте хорошую верстку, а после уже отдельно договаривайтесь про натягивание. К сожалению, натягивание часто - это непредсказуемый процесс, т.к. проект может быть написан очень по-разному (как, например, подразумеваю, и тема на вордпрессе\джумле может быть сделала хорошо, понятно, по стандартам, а может быть - и через одно место)
    Ответ написан
    Комментировать
  • Что означает два слэша в src при подключении JS?

    Два слеша используют для того, чтобы не угадывать, какой протокол записывать: http или https. Ведь если не угадаешь, абсолютная ссылка окажется неправильной. Два слеша обозначают, что протокол не важен
    Ответ написан
    Комментировать
  • Есть ли хороший актуальный на 2019 год ресурс по react/redux?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Надо просто понять суть, понять как работают HOCи (компоненты высшего порядка) и проекция props. Если совсем коротко, то ридакс - это единый стор, который не позволяет менять данные напрямую, вместо этого нужно диспатчить экшены, которые пробрасываются в редьюсеры - чистые функции, задача которых на вход получить текущее состояние стора и экшен, произвести изменения, не затрагивая текущее состояние (иммутабельно) и вернуть новое состояние. Редьюсеры вызываются по цепочке, так же по цепочке вызываются и миддлвары, которые позволяют перехватывать экшены и, например, производить асинхронные действия, вроде запросов к API. Ну и напоследок любой компонент может подписаться на изменения в сторе посредством HOC connect из пакета react-redux.

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

    Ну и для облегчения жизни и увеличения производительности приложения надо еще понять reselect (мемоизированные селекторы) и прям чтобы совсем было весело immutable - иммутабельные структуры данных, которые на любой чих возвращают новую структуру с новой ссылкой, за счет чего любые изменения выявляются через банальное сравнение ссылки.

    reselect и immutable это как специи, позволяют существенно оптимизировать работу приложения, но на первых порах можно жить и без них.

    ЗЫ: Если найдешь меня в скайпе, можешь позадавать вопросы. :)
    Ответ написан
    Комментировать
  • Как оформить такой input?

    LenovoId
    @LenovoId
    svg, css,js
    Так?
    Ответ написан
    Комментировать
  • Зачем нужен frontend, если всю начинку сайта или проекта можно реализовать с помощью backend'a?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    JavaScript, HTML, CSS - в браузере нужны для того, что бы ваши данные визуализировать для пользователя, а phyton, node.js, PHP нужны для того, что бы эти данные предоставить

    1)
    Таких как phyton, node.js, PHP
    - node.js это JavaScript
    2)
    потом интерфейс, добавить анимацию, сделать разметку страницы и т.п
    - а на чём вы собираетесь строить это, кроме как на JavaScript, HTML, CSS

    Вся текущая красота интерфесов react, vue, angular даёт нам возможность разграничить нагрузку. Пускай сервер занимается тем, чем должен, логикой и вычислениями. А браузер, на основе данных бекенда рисует нам странички. Тем самым мы высвобождаем много ресурсов для сервера, что бы ему это всё не генерировать.
    Ответ написан
    2 комментария
  • Зачем нужен frontend, если всю начинку сайта или проекта можно реализовать с помощью backend'a?

    @sharpross
    JavaScript, HTML, CSS - Что бы оформить информация поступающую с бэкенда + снизить нагрузку на бэк.
    Мы можем отрендерить странички на клиенте сразу и постепенно подгружать лишь небходимые данные с бэка.
    В итоге сервер отдаёт минимум информации, а иначе серверу придётся ещё тратить время на отрисовку новой страницы при каждом запросе.
    Ответ написан
    5 комментариев
  • Зачем нужен frontend, если всю начинку сайта или проекта можно реализовать с помощью backend'a?

    profesor08
    @profesor08
    Релизуй реактивность на php. Или давай чего попроще, отобрази в браузере красную кнопку на php без использования HTML и CSS, а изюминкой добавь чтоб при нажатии пользователю выскакивал алерт "Hello world", не используя JavaScript.
    Ответ написан
    5 комментариев
  • Как убрать браузерную обводку у кнопок (появляющуюся в состоянии :focus) в Chrome и Firefox?

    wprivalov
    @wprivalov
    Разрабатываю сайты на токарном станке)
    для bootstrap 4 (100% рабочий вариант):

    a.active.focus,
    a.active:focus,
    a.focus,
    a:active.focus,
    a:active:focus,
    a:focus,
    button.active.focus,
    button.active:focus,
    button.focus,
    button:active.focus,
    button:active:focus,
    button:focus,
    .btn.active.focus,
    .btn.active:focus,
    .btn.focus,
    .btn:active.focus,
    .btn:active:focus,
    .btn:focus {
    outline: 0!important;
    outline-color: transparent!important;
    outline-width: 0!important;
    outline-style: none!important;
    box-shadow: 0 0 0 0 rgba(0,123,255,0)!important;
    }
    Ответ написан
    4 комментария
  • Не работает Gulp, выдает ошибку?

    potapchino
    @potapchino
    var gulp = require('gulp');
    var browserSync = require('browser-sync').create();
    var sass = require('gulp-sass');
    
    gulp.task('sass', function(done) {
        gulp.src("scr/scss/*.scss")
            .pipe(sass())
            .pipe(gulp.dest("scr/css"))
            .pipe(browserSync.stream());
    
    
        done();
    });
    
    gulp.task('serve', function(done) {
    
        browserSync.init({
            server: "src/"
        });
    
        gulp.watch("scr/sass/*.sass", gulp.series('sass'));
        gulp.watch("scr/*.html").on('change', () => {
          browserSync.reload();
          done();
        });
      
    
        done();
    });
    
    gulp.task('default', gulp.series('sass', 'serve'));
    Ответ написан
    5 комментариев
  • Как сделать задержку в цикле for in в jQuery?

    kshshe
    @kshshe
    Frontend developer
    Так? Поменял ваш пример

    Можно обернуть всю работу в асинхронную функцию, тогда вам будет доступна удобная работа с асинхронностью.
    // Где-то выше
    const delay = (ms) => new Promise((resolve) => {
    	setTimeout(resolve, ms);
    });
    
    // Это уже в асинхронной функции
    /*
       Можно вызвать в любом месте в асинхронной функции, тогда код, условно, 
       остановится там на 1000 миллисекунд и продолжится, когда Promise из delay зарезолвится
    */
    await delay(1000);


    Вот именно ваш случай:
    const delay = (ms) => new Promise((resolve) => {
    	setTimeout(resolve, ms);
    });
    
    (async () => {
      for (var key in contact) {
        var obj = contact[key];
        for (var prop in obj) {
          $('[name="'+prop+'"]').val(obj[prop]);
          console.log(key + " " + obj[prop]);
        }  			
        await delay(1000);
      }
    })()
    Ответ написан
    2 комментария
  • Что такое jsonp и как им пользоваться?

    kirill89
    @kirill89
    Это технология для выполнения запроса к другому домену (через обчный XHR это не возможно).

    В двух словах работает это следующим образом:

    В head страницы добавляется новый тег script с src установленным в адрес запроса и параметры (например "www.example.com/?id=1&jsonp=myCallback").

    Как вы понимаете этот скрипт будет загружен браузером несмотря на домен на котором мы находимся.

    При этом ответная сторона (example.com) в тело этого скрипта вернет не просто JSON, а вызов javascript функции указанной в jsonp параметре (мы разумеется эту функцию должны заблаговременно объявить).
    Пример ответа от example.com: myCallback({ "user": "Rrooom", "message": "test" });

    Это не плохой способ обойти проблему кросс доменных запросов, но возможен только GET.
    Ответ написан
    1 комментарий
  • Оценка уровня верстки?

    wapster92
    @wapster92 Куратор тега Вёрстка
    1) в мобильной версии разные паддинги по краям, где-то слева больше справа вообще его нет, где-то паддинги вообще отсутствуют.
    2) Модалка не адаптивная.
    3) в мобильной версии невозможно прокрутить страницу до конца вниз.
    4) если css не стандартной кодировки utf-8, стоит указывать атрибут charset "кодировка".
    5) всегда пропускайте код через валидатор, в глаза бросилось section не используется без заголовка.
    6) подключаясь к id селектору в css обрекаете где-то в мире котенка грустить, оно вам надо?
    7) шрифт без вертикального выравнивания на разных системах выглядит по разному, в данном случае на кнопках в mac очень заметно, что он подпрыгнут вверх. Советую об этом погуглить.
    8) прогоняйте сайт через тесты скорости, к примеру PageSpeed Insights. Расскажет о вашем сайте многое
    Ответ написан
    1 комментарий
  • Как установить Flex элементы друг под другом?

    @ily94
    Вот,теперь все работает. Мы делаем для обёртки flex-flow column,чтобы внутренние блоки встали в колонки, с помощью align-items выравниваем их по центру. Внутренний класс privillege сделали флекс-блоком, по умолчанию все его элементы будут расположены в ряд. Margin'ом выровняли по центру.
    ________________________________________
    .header_conent {
    display: flex;
    flex-flow: column;
    align-items: center;
    }
    .privilege {
    display: flex;
    margin:auto;
    }
    Ответ написан
    Комментировать
  • Как во флексах задать ширину колонки по размерам контейнера флекса?

    HelenStar
    @HelenStar
    Начинающий frontend
    Самое простое:
    jsfiddle

    Контейнеру задаете flex-wrap: wrap;
    Первому блоку задаете ширину в 100%, второму и третьему в 50%.

    Потом, если надо будет в мобильной версии сделать второй и третий блок по ширине контейнера, просто измените ширину с 50% на 100%, и все три будут друг под другом.
    Ответ написан
  • Адаптивный Резиновый Кроссбраузерный CSS дизайн на FLEX. Почему Chrome отображает не правильно?

    dom1n1k
    @dom1n1k
    Вообще всё неправильно сверстано. Странно скорее, что оно работает нормально в FF, чем то, что оно глючит в Chrome. По мне, оно не должно работать нигде.

    Почему все блоки .flexColumnBlock имеют height: 100%? Высота там нужна только для самого внешнего контейнера. Дальше про width и height нужно забыть и пользоваться только flex-basis, flex-grow, flex-shrink.

    В чем вообще смысл использования флекса при таком подходе, ну кроме того, что это модное словечко? Зачем там 2 попеременно показываемых сайдбара вместо манипуляций со свойством order? Если уже переходить на flex-верстку, то нужно принимать и использовать её идеологию, а не усердно грести против течения. Мне кажется, вы её (идеологию) пока не понимаете - почитайте теорию. Либо используйте абсолютное позиционирование, оно проще (я серьезно).
    Ответ написан
    Комментировать
  • Как написать такой сайт?

    alams_stoyne
    @alams_stoyne
    Full Stack Developer - #PHP #CSS #JS #DB
    "Не боги горшки обжигают" (с)
    То что тебя поразило называется WebGL штука красивая но бесполезная на мой взгляд (видимо старею наигрался).

    С какого места подступиться:
    1) Математика
    2) Физика
    3) Программирование

    Читать основы
    есть различные библиотеки, но для создания подобных шедевров лучше писать своё под себя.

    Ну и не забывай про необходимость 3D-моделирования ;)

    В этом посте описан процесс разработки игры на чис...
    Ответ написан
    Комментировать
  • Греется MacBook Pro?

    nochkin
    @nochkin
    У меня такой проблемы нет. С джавой не могу ничего толкомо посоветовать, но Youtube можно попробовать переключить на HTML5: www.youtube.com/html5
    Вообще, так не должно быть. Те, кто говорят что это в норме, это не так. У меня были все алюминиевые 13" прошки (кроме самой последней), нигде не было такой проблемы.
    Я бы тоже попробовал SMC сбросить как выше советуют.
    Ответ написан
    Комментировать
  • Греется MacBook Pro?

    darqsat
    @darqsat
    PM
    У всех греется, а тот кто отрицает – лгун, который пытается скрыть недостатки купленного девайса.
    Дружок один купил топовый конфиг мака, еще и на i7 с 16гб оперативки и чуть руки не спёк. Подставка еле помогает, но проклял он этот мак трижды.
    Ответ написан
    Комментировать
  • Греется MacBook Pro?

    hell0w0rd
    @hell0w0rd
    Просто разработчик
    1) Алюминиевый корпус
    2) Все максимально друг к другу прижато
    Если еще в это время его и заряжать — так вообще ужас. Я заметил что особенно греется мак когда смотрю видео через флеш-плеер. А если попробовать запустить например Borderlands 2 — так вообще капец.
    Ответ написан
    5 комментариев