• Как зарабатывать 1000$ на фрилансе верстальщику?

    HamSter007
    @HamSter007
    HTML/CSS верстальщик
    3 года верстаете на фрилансе и до сих пор не поняли, что верстка бесперспективное направление?! 3 года уже точно как!

    Для развития и большего заработка нужно учить js --> js фреймворки (angular, react, vue, ... ).
    + Чтобы что-то заработать нужно знать английский и выходить на иностранные биржи (на upwork посадка на wp весьма актуальный заказ).
    + Научиться работать по часам, сейчас и отечественные уже переходят на такой формат работы.
    + Если 30 отзывов уже есть, то и сами понимаете что умение предложить свои услуги на приличный проект тоже немаловажный аспект.

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

    SerJook
    @SerJook
    кодер
    C jQuery и AJAX:

    <table>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Text</th>
        <th></th>
      </tr>
      <tr data-id="1">
        <td>1</td>
        <td>dasd</td>
        <td>123</td>
        <td><button>x</button></td>
      </tr>
      <tr data-id="2">
        <td>2</td>
        <td>Александр</td>
        <td>Текст</td>
        <td><button>x</button></td>
      </tr>
    </table>


    $("table button").click(function() {
    	var row = $(this).closest('tr');
    	$.post("delete.php",{id: row.data('id')}, function(response){
        if (response.success) {
        	row.remove();
        }
      }, 'json');
    });
    Ответ написан
    Комментировать
  • Как вынести градиент для SVG в CSS?

    mudrenokanton
    @mudrenokanton
    frontend dev
    Вам не нужен CSS. Можно сделать так:
    <svg>
        <defs>
            <linearGradient id="gradient">
                <stop offset="0%" style="stop-color: deepPink"></stop>
                <stop offset="100%" style="stop-color: #009966"></stop>
            </linearGradient>
        </defs>
     
        <rect stroke="#eee" stroke-width="5" fill="url(#gradient)"></rect>
    </svg>
    Ответ написан
    5 комментариев
  • Изображения вставлены через атрибут тега style="background-image: url()". Почему?

    @tyzberd
    можно использовать object-fit и этот скрипт https://github.com/bfred-it/object-fit-images
    Ответ написан
    Комментировать
  • Изображения вставлены через атрибут тега style="background-image: url()". Почему?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Вы не усмотрели самого главного:
    5c1a74d4749cd428813580.png

    Чтобы оценить, смотрим уровень браузерной поддержки здесь https://caniuse.com/#feat=object-fit
    и здесь https://caniuse.com/#feat=background-img-opts

    И понимаем, что надежнее вставить картинку фоном, нежели использовать object-fit на теге img
    Ответ написан
    1 комментарий
  • Как выглядит современный процесс верстки?

    @coderxx
    keep calm and learn js
    Не уверен что начинающим верстальщикам нужно заморачивать себе голову всем этим ужосом:) Но может кому-то и пригодится:
    - создаю новый проект на базе немного допиленного Optimized4HTML (можно копировать папку руками, можно сохранить в PhpStorm как темплейт, второе разумеется удобнее). Проект имеет следующую структуру:
    5c13ab56a03e8108817224.png
    - открываю его в PHPStorm, через командную строку устанавливаю пакеты и запускаю вотчер со следующей конфигурацией:
    5c13ad0d5c912921297608.png
    (таким образом отслеживаются изменения в файлах index.html, *.scss, common.js, а так же релодится браузер; в процессе верстки просто перескакиваем на виртуальный рабочий стол с открытым сайтом и сразу видим изменения, а если есть второй монитор то вообще песня). Кстати, перечень пакетов ннада?
    5c13ae2b57082880473288.png
    - из плюшек emmet и sass обязательно, в качестве таскранера - gulp.
    - макеты у меня в .sketch, так же кто не пробовал советую попробовать Figma, получите практически скетч в браузере. Adobe Photoshop не люблю. Adobe XD не пробовал, но осуждаю. Здесь наверное больше дело вкуса и реалий, в которых вы работаете (например, в каком формате получаете макеты, какая ОС на рабочем компе).
    Вроде все просто. Что непонятно - спрашивайте, отвечу.

    UPD. Optimized4HTML недавно перешел на Gulp 4, советую попробовать. Учтите, что Gulp 4 не имеет обратной совместимости с галпфайлами предыдущей версии, так как немного изменился синтаксис.
    Ответ написан
    9 комментариев
  • Как уменьшать и адаптировать текст, когда он не помещается в блок?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Пример:
    codepen.io/iiil/pen/yDbtL

    При добавлении текста вызывайте функцию scale. Переменные step и minfs — это шаг изменения размера шрифта и минимальный размер шрифта. При достижении минимума, появляется вертикальный скролл.
    Ответ написан
    5 комментариев
  • В каком случаи использовать --save и --save-dev в NPM?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Компиляторы-транспиляторы-трансляторы (типа Coffee, LESS, Jade), тест-раннеры, стайл-чекеры и линтеры (mocha, chai, karma, (js|es)lint, jscs), плагины для таск-раннеров (grunt-contrib-watch, gulp-jade) — все это обычно ставится как --save-dev, потому что нужно только тем, кто контрибьютит в этот проект, работает с его кодом.

    Библиотеки и фреймворки (expressjs, jquery, backbone), на основе которых работает ваш код, без которых ваш код не запустится у его потребителя — ставятся как --save.
    Ответ написан
    3 комментария
  • Почему div вылетает за пределы a?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    a > div
    О боже, зачем так?
    https://stackoverflow.com/questions/3092610/div-in...
    UPD: вам же пытаются объяснить, что оборачивать такие блоки тегом а - плохо.
    Браузер видит первый закрывающий тег </a> и обрабатывает разметку по нормальному, а не как у вас.
    Ответ написан
  • Вопрос про миксы БЭМ?

    delphinpro
    @delphinpro
    frontend developer
    Блок - универсален и независим (в идеале). Он может располагаться в любом месте сайта без ущерба для собственного вида. Поэтому блокам не задаются стили, влияющие на позиционирование.
    Элемент - неотъемлемая часть блока, не существующая вне его. Поэтому элементу можно задать позиционирование в пределах своего блока.
    Микс решает проблему позиционирования блока. В данном случае нам нужно задать расположение блока поиска. Но блоку мы не можем задать width, left и т.п. Поэтому делаем этот же блок элементом другого (внешнего) блока и уже как элемент позиционируем.

    Почему не модификатор? Потому что
    Модификаторами в БЭМ задают блокам внешний вид, состояние и поведение.

    Позиционирование не относится ни к одному из этих вариантов.

    Обо всем этом написано https://ru.bem.info/methodology/css/ в разделах "Модификаторы" и "Внешняя геометрия и позиционирование"

    UPD
    Пожалуй стоит дополнить, что все вышенаписанное, как должно быть понятно, относится именно к позиционированию. Если вы миксуете какие-то стили, которые "задают блокам внешний вид, состояние и поведение", то тут вполне возможно использование модификатора.
    Ответ написан
    4 комментария
  • Как сделать для SlideToggle display - block?

    kreotech
    @kreotech
    Абстрактно-ориентированный программист
    Надо просто в css задать соответствующее правило:
    https://jsfiddle.net/kreoTech/rdqy651g/4/

    Нажимать на первый абзац
    Ответ написан
    2 комментария
  • Как выполнить функцию один раз?

    @sergyx
    отсюда
    function once(fn, context) { 
        var result;
    
        return function() { 
            if(fn) {
                result = fn.apply(context || this, arguments);
                fn = null;
            }
    
            return result;
        };
    }
    
    // Пример использования
    var canOnlyFireOnce = once(function() {
        console.log('Запущено!');
    });
    
    canOnlyFireOnce(); // "Запущено!"
    canOnlyFireOnce(); // Не запущено
    Ответ написан
    Комментировать
  • Какая самая лучшая JavaScript-библиотека для Параллакса?

    Без тормозов = руки + css. Можно немного js для красивостей вроде постраничной прокрутки.
    Пример на CSS
    А вообще поищите на codepen. Огромнейшая выдача по запросу parallax, с готовыми примерами. Хотя библиотеки все же не рекомендую, так как вы не будете знать как именно работает ваш код.
    Ответ написан
    Комментировать
  • Как запретить скроллить body на мобильных/тач устройствах при overflow: hidden?

    @ITZver
    Вот мое решение через CSS.
    Ответ написан
    Комментировать
  • Как поставить многоточие в конце блока с текстом без использование js??

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Для неразрывных строк всё просто

    ... {
    	white-space: nowrap;
    	overflow: hidden;
    	text-overflow: ellipsis;
    }

    Для нескольких строк, увы, всё куда хуже.

    Для webkit есть правило -webkit-line-clamp, позволяющее задать количество строк. Естественно, white-space не нужен.

    Для остальных это всегда будут эмуляции — либо JS-решения, либо абсолютно позиционированная псевдобласть (чаще всего ::after) с многоточием.
    Ответ написан
    Комментировать
  • Куда ехать фрилансить, в какую страну?

    kawabanga
    @kawabanga
    Ты из какого города?

    Я сейчас в Индонезии на о. Бали, уже 3ий месяц. Если Кратко, то 1 тыс баксов в притык хватает (заработок в несколько раз больше). И не забывайте, у вас всегда должны быть деньги на ЧС. Хотя если честно, я особо не вижу куда деньги тратить тут.

    Затраты складываются из следующих расходов, если ты один:
    1) Билеты, билеты на визаран. Если летишь через какую нибудь страну, к примеру Тай, то там в Бангкоке можно сделать социальную визу и находиться на острове до 6 месцев.
    2) Страховка - это обязательно везде в Азии, медицина очень дорогая. Стоимость от 2 тыс рублей обычная за месяц, и 6-7 тыс с покрытием мотобайка при наличии прав и спортивной страховки. У меня спортивная страховка.
    3) Продление визы - 2500 руб в месяц через агента. можно самому париться, но тут лениво очень мотаться.
    4) мопед - 2500 руб в месяц + бензин на тысячу где то если много ездишь
    5) Главное! Жилье. В моем районе, это серферский хипстерский район, жилье в среднем 12-20 тыс рублей за комнату в гестхаусе, дороже комната на вилле. Чем ближе к океану, тем больше платить.
    6) Питание. Стоит отметить, что продукты тут другие. Что-то дороже, что-то дешевле. Иногда дешевле кушать где- то, забегаловок на любой кошелек хватает. Сейчас мы кушаем днем в кафешке, где цены сопоставимы бизнес ланчам в России.
    Молочка - отстой, невкусная и стоит дорого. кисломолочных продуктов нет.
    свинина и курица - тоже невкусная, но цена как в России.
    есть все из штатов , бразилии, италии, испании и тд, дорого.
    Рис - фрукты - овощи, - навалом и дешевле чем в России.
    Хлеб есть, но не нстолько вкусный как в России.
    7) связь - 300 руб месяц
    8) Уроки серфинга - 40-50 долларов занятие, надо 3 занятия для того чтобы самому кататься. Аренда доски - 250 руб сет (3 часа). Я купил доску себе

    Т.е. это расходы, если ты тут живешь. Если путешествуешь, то затраты на порядок больше. Как видишь, в 1К долларов жить тут можно. Из плюсов - я серфлю каждый день, и мне это очень нравится.
    Ответ написан
    Комментировать
  • Каков сценарий использования git для одного разработчика?

    gobananas
    @gobananas
    finishhim.ru
    Делаете ветку master, ветку dev и отдельные ветки под отдельные фичи.
    Делаете 2 сайта - один сам проект (основной) - на него выкатываете master, второй сайт тестовый - на него выкатываете ветку dev. Остальные ветки разрабатываете, сливаете с dev выкатываете на тест, если там всё нормально то dev сливаете с мастером. За ноут просто когда садитесь если мастер новый есть делаете git pull и стягиваете новую версию
    Ответ написан
    11 комментариев
  • BrowserSync + gulp делает релоад страницы только один раз, в чем проблема?

    Machinez
    @Machinez
    gulp.task('jade-watch', ['jade'], browserSync.reload);

    попробуйте разделить компиляцию jade и релоад, возможно просто jade не успевает скомпилировать html на выходе
    gulp.task('jade', function(){
    
      return gulp.src('app/jade/*.jade')
        .pipe(jade({
          pretty: true
        }))
        .pipe(gulp.dest('app'));
    
    });
    
    gulp.task('watch', function() {
        	gulp.watch(path.html).on('change', browserSync.reload);
        	gulp.watch(path.jade, ['jade']);
    });

    если проблема в этом, то слежка за html для перезагрузки нежели за jade должна помочь
    если же нет, то вам придется привести полный код, т.к проблема может быть в путях файлов
    Ответ написан
    3 комментария