• Зачем устанавливать gulp глобально и локально?

    dimovich85
    @dimovich85 Куратор тега JavaScript
    https://u-academy.net/
    Глобально надо поставить gulp-cli, а не gulp, а локально надо ставить gulp. Gulp-cli это утилита, или программа, которая зарегистрирует в консоли команду gulp. CLI - command line interface, интерфейс командной строки, как-то так. Это надо, чтобы Вы могли в консоли запускать задачи с помощью команды типа 'gulp task'. Если gulp-cli не поставить, то для запуска задач пришлось бы писать что-то типа 'node gulpfile.js', а тогда проблема, что в нем ещё надо указать, какую задачу конкретно запускать надо, потому что node запустит просто скрипт, и выполнятся все задачи, которые там объявлены и вызваны. Либо пришлось бы в package.json регистрировать скрипты под алиасы, сокращенные команды, и для запуска пришлось бы писать npm run task, а в package.json надо тогда описать этот task. Сложно, короче. Gulp-cli умеет принимать название task'a и вызвать его из gulpfile.js. Теперь в gulpfile описываете задачи, и через gulp вызываете.
    Ответ написан
    2 комментария
  • Зачем нужен nunjucks, как он может помочь в фронтенд верстке?

    dimovich85
    @dimovich85 Куратор тега CSS
    https://u-academy.net/
    Приведу в пример свои юзкейсы. Если есть проект размером, например, 10 и больше страниц (один из последних у меня 50+ страниц), и в них есть шапка, подвал и меню повторяющиеся. Представьте, Вы это все копипастом делаете, а потом надо еще пункт добавить или верстка шапки поменяется... Менять вручную это ад. В нунчаках можно шапку и подвал, и меню подключить как модули, если что-то поменялось - редактируете только один файл, меняется сразу везде.
    Вариант второй, надо проверить и показать верстку на надежность, переполнением контейнера, к примеру есть таблица, можно вручную скопировать вставить 30 строк, но потом документ будет иметь большой размер и скролить это все будет неудобно, плюс глаза будут уставать, помимо этого может надо какие-то свои спецклассы задавать каждой 10 строке, а потом еще пару строк добавите, и порядок строк таблицы поменялся, и вручную все классы менять. В нунчакках есть возможность создать массив, как в программировании и запустить цикл с условиями и прочими плюшками, и теперь добавить пару строк можно без проблем, просто добавив в массив нужные значения.
    Еще можно вставлять svg в html, при этом визуально не засорять код, в результате можно управлять svg как часть документа, и при этом в src файлах чистота и порядок.

    https://mozilla.github.io/nunjucks/ Вот доки.
    Ответ написан
    3 комментария
  • Правильней продвигать сайт или landing page к нему?

    Mark54
    @Mark54
    Web-developer
    Для сео - сайт
    Для контекстной рекламы - Landing Page
    Ответ написан
    Комментировать
  • Какой конструктор лендинга?

    Hando
    @Hando
    Верстак
    Сканнеров не знаю, но если нужен конструктор лендингов, проще купить на themeforest какой-нибудь конструктор лендингов, которых там навалом, за 15 баксов и не париться, чем платить абонентку. По запросу Page Builder вылезет целая куча. Я использовал вот такой: https://themeforest.net/item/select-landing-page-s... до сих пор у меня лежит на каком то сайте. Но это уже довольно древний билдер, ему года два, сейчас есть новее и современнее.

    А все эти наши отечественные конструкторы имеют ряд критичных минусов:
    1. Абонентка от 300 до 1500 рублей.
    2. Зачастую всего 1 домен на 1 учетную запись.
    3. Проблемы с внедрением стороннего кода. Например своих плагинов на квери или корзинки на аяксе.
    4. Дополнительное вымогание денег за всякие копирайты и прочую ерунду.
    5. Нет возможности самому исправить баги(а они есть везде), в результате приходится сидеть и ждать когда снизойдут сами разработчики, чтобы пофиксить то, что вам надо.
    Ответ написан
    2 комментария
  • Как вы генерите градиент?

    dom1n1k
    @dom1n1k
    Вручную пишу.
    Градиентов в типичном css не настолько много, чтобы колупать себе мозг какими-то там онлайн-генераторами.
    Раньше это было актуально, потому что нужно было сделать 5-6 префиксных версий с нюансами синтаксиса. А сейчас автопрефиксер, да и тот не сильно обязателен.
    Ответ написан
    3 комментария
  • Изменение Emmet шаблонов в Sublime?

    Zoxon
    @Zoxon
    Веб-разработчик
    В emmet есть файл snippets.json в котором хранятся сопоставления между шорт-кодами и разворачиваемым кодом. Можно его исправить но при обновлении можно все потерять.
    https://github.com/sergeche/emmet-sublime/blob/mas...

    Но правильней будет писать свои abbreviations в файл с настройками. Так как у него приоритет выше вы можите переопределить дефолтные abbreviations.

    Пример:
    В файле выше на строке 645 код "!": "html:5"
    Это значит вводите ! и таб вызываете другой abbreviation html:5 на строке772 "html:5": "!!!+doc[lang=${lang}]",
    который тянет другие снипеты
    "!!!": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
    "doc": "html>(head>meta[charset=${charset}]+title{${1:Document}})+body",

    Вот и меняйте что хотите в файле Preferences → Package setting → Emmet → Settings User

    У меня он выглядит так
    {
    	// Custom snippets definitions, as per https://github.com/emmetio/emmet/blob/master/lib/snippets.json
    	"snippets": {
    		"html": {
    			"abbreviations": {
    				"script": "<script type=\"text/javascript\">",
    				"script:src": "<script type=\"text/javascript\" src=\"\">",
    				"form": "<form action=\"${1:#}\" method=\"${2:post}\">",
    				"form:get": "<form action=\"${1:#}\" method=\"get\">",
    				"form:post": "<form action=\"${1:#}\" method=\"post\">",
    				"a": "<a href=\"${1:#}\">"
    			}
    		}
    	},
    	// Output profiles for syntaxes
    	// http://docs.emmet.io/customization/syntax-profiles/
    	"syntaxProfiles": {
    		// Enable XHTML dialect for HTML syntax
    		"html": "xhtml"
    	}
    }
    Ответ написан
    Комментировать
  • Как сделать эффект плавного выдвигания блока (внутри пример)?

    lazalu68
    @lazalu68
    Salmon
    Там вроде бы ничего никуда не выдвигается, просто анимация скролла. А фон при этом не двигается из-за background-attachment: fixed.

    5a9436af0faf2661018737.gif
    Ответ написан
    Комментировать
  • Существует ли автоматическое тестирование кроссбраузерности css свойств?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Существует ли библиотека которая ориентируется на базу данных caniuse и в процессе написания css кода автоматически предупреждает что для выбранных браузеров то или иное свойство не поддерживается

    doiuse.
    Ответ написан
    1 комментарий
  • Как оптимизировать svg-файл, в котором находится 5 000 точек, для встраивания на страницу?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    1. Растеризовать SVG в обычную картинку. Вынести все данные в отдельный объект с картой. Слушать mouseover обычным VanillaJS.

    2. Оптимизировать SVG.
    Из этого
    <circle class="tc-map-seat tc-map-seat_cat0" cx="201038" cy="16629" r="695" tc-seat-no="3"></circle>

    Вот в это
    <circle class="c0" cx="201038" cy="16629" r="695" n="3"></circle>

    Забыть нахрен про jQuery, зумить через CSS, двигать через VanillaJS requestAnimationFrame.
    С сервера загружать с gzip.

    3. Посмотрите, как это сделано на ticketmaster.com. Там карта разбита на зоны. Можно сделать точно также, но по клику по зоне показывать карту зоны. Т.е. сделать 2 уровня зума. Просто и функционально, плюс можно подсвечивать занятые места.
    Ответ написан
    1 комментарий
  • Проблемка с градиентом через сanvas?

    dom1n1k
    @dom1n1k
    Подозреваю, что причина в известной канвасовской особенности координат - в ряде ситуаций, чтобы получить точный результат, нужно указывать не целочисленные координаты (границы пикселей), а добавлять/вычитать 0.5px (чтобы попасть центры пикселей).
    В данном случае главный подозреваемый - метод createLinearGradient.
    Ответ написан
    1 комментарий
  • Как плавно показать блок с "transition" после его создания?

    @kulaeff
    Front-end developer
    Вариант с animation вам уже показал товарищ 0xD34F. Если нужен именно transition, то вы создаете блок, у которого изначально в CSS указан opacity: 0, затем через маленький промежуток времени вы задаете opacity: 1. В коде это будет примерно так:

    div {
      opacity: 0;
    }
    div.active {
      opacity: 1;
    }

    var div = document.createElement('div')
    
    document.body.appendChild(div)
    
    setTimeout(function() {
      div.classList.add('active');
    }, 10)


    Вместо setTimeout можно использовать requestAnimationFrame. Если вы используете jQuery, то там есть функция animate() или связка функций queue()\dequeue().

    Пример
    Ответ написан
    1 комментарий
  • В Sublime Text 3 вместо новых вкладок заменяются открытые. Как лечить?


    Дополню ответ ув-мого Романа Огаркова.

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

    GfhShN9.png
    Единичным кликом мы вызываем т. н. «режим просмотра» файла. Когда открыта вкладка с файлом в режиме просмотра, когда мы кликаем любой кнопкой мыши 1 или 2 раза по имени или иконке другого файла, этот самый другой файл откроется в той же вкладке, где был первый.

    Если мы вносим изменения в файл, который находится в режиме просмотра, то курсив его имени во вкладке пропадает, — осуществляется переход из режима просмотра в «режим редактирования». Когда открыта вкладка файла, находящегося в режиме редактирования, при клике любой кнопкой мыши по другому файлу в сайдбаре, этот самый другой файл открывается уже в новой вкладке.

    Rt770zw.png
    Чтобы сразу перейти в режим редактирования файла, расположенного в сайдбаре, необходимо кликнуть по его имени или иконке в сайдбаре дважды левой кнопкой мыши.

    Чем это полезно, за годы работы в Sublime Text я не увидел. К тому же неудобно удалять файлы: ПКМ по имени или иконке файла в сайдбаре → DeleteYes, delete the selected itemsCtrl+WНет — нажимать приходится много.

    Для отмены режима просмотра проделываем следующее:Preferences →Settings - User→ добавляем в открывшийся файл строчку"preview_on_click": true,→ отныне после одинарного клика ЛКМ или любого количества кликов СКМ ничего не произойдёт. Для открытия файла в сайдбаре в режиме редактирования необходимо кликать по его имени или иконке дважды.

    Несмотря на многочисленные просьбы, открытие файла в режиме редактирования единственным кликом ЛКМ в Sublime Text 3 на сентябрь 2016 не вводят.

    Спасибо.
    Ответ написан
    2 комментария
  • Существует ли сетка лучше bootstrap?

    Флексбокс полностью исключает надобность сетки. ПОЛНОСТЬЮ.
    CSS GRID хороша, но хромает поддержка
    Ответ написан
    Комментировать
  • Тень под прозрачным элементом?

    Lynn
    @Lynn
    nginx, js, css
    Никак.
    https://drafts.csswg.org/css-backgrounds-3/#shadow...
    An outer box-shadow casts a shadow as if the border-box of the element were opaque. Assuming a spread distance of zero, its perimeter has the exact same size and shape as the border box. The shadow is drawn outside the border edge only: it is clipped inside the border-box of the element.


    P.S. в качестве «другого» элемента можно попробовать использовать псевдо-элементы :before/:after.
    Ответ написан
    Комментировать
  • Можно ли использовать единицы измерения rem (root em) вообще для всего в CSS?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Делаю вот так:
    html, body {
      font-size: 62.5%; // 1rem = 10px и никакой попаболи как с EM
    }

    И верстаю все только в rem уже более полугода (за исключение тонких бордеров в 2-3px и подобных микро-вещей, которые при снижении font-size для html, body могут выдавать становиться тоньше, чем надо).
    Главная фишка - возможность скейлить всю верстку под разные разрешения. Хочется сделать все на 25% больше для мониторов шире 1600px? Просто пишешь:
    html, body {
      @media (min-width: 1600px) {
        font-size: 78.125%;
      }
    }

    И вся верстка магическим образом идеально скейлится. Тоже самое касается и понижения, очень удобно в адаптивной верстке.
    Недостатки у rem есть, но они безобидные для нормальных людей - ie9+ и баг с небольшой неточностью приема 62.5% в каких-то версиях ie (вроде как в 10), что в общем то не заслуживает внимания.
    Ответ написан
    4 комментария
  • Куда семантичнее класть H1 — в HEADER или в MAIN?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    ну в какой header? всегда в тексте
    Ответ написан
    Комментировать
  • Куда семантичнее класть H1 — в HEADER или в MAIN?

    alvvi
    @alvvi
    export default apathy;
    В упрощенном видео обычно либо
    <header><nav></nav></header>
    <main> 
      <section class="hero"><h1></h1></section>
    </main>

    либо
    <header>
       <nav></nav> 
       <section class="hero">
         <h1></h1> 
       </section>
    </header>

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

    filgaponenko
    @filgaponenko
    frontend developer
    Ответ написан
    Комментировать