Прощаемся с Zen Coding. Встречаем Emmet
В 2009 году Сергей Чикуёнок опубликовал статью, которая изменила представление о написании HTML и CSS кода. За эти годы огромное число разработчиков стали пользоваться плагином Zen Coding, развитие которого выходит на новый уровень.
Emmet, также известный как Zen Coding - это самый эффективный плагин для быстрого написания HTML и CSS кода, который когда-либо существовал. Благодаря нему, из простого выражения можно сгенерировать целый блок кода. Emmet, в этом плане, обещает быть ещё лучше и удобнее.
Как работает Emmet?
Давайте по-чесноку: написание HTML кода занимает много времени за счёт ввода тегов, атрибутов, кавычек, скобок и так далее. Конечно же большинство текстовых редакторов помогают в этом, но всё же гораздо меньше печатать нам от этого не приходится. Emmet может значительно упростить написание кода за счёт преобразования простых аббревиатур в полноценные блоки кода.
HTML аббревиатуры
Инициализаторы
Получить базовую структуру HTML документа теперь можно меньше чем за одну секунду. Напишите аббревиатуру html:5
или просто !
, нажмите клавишу Tab и через миг вы увидите полноценный базовый код с доктайпом HTML5.
html:5
или ! - HTML5html:xt
- XHTML transitionalhtml:4s
- HTML4 strict
Добавление классов, id-шек, текста и атрибутов
Поскольку синтаксис Emmet очень похож на CSS селекторы, то понять, как им пользоваться, очень просто. Попробуйте поэкспериментировать с каким-то элементом (к примеру, p) и идентификатором (к примеру, p#description)
Также вы можете комбинировать классы и идентификаторы. К примеру, выражение p.bar#foo
преобразится в:
<p class="bar" id="foo"></p>
Теперь давайте посмотрим, как добавить текст и атрибут. Для того чтобы задать элементу какой-то текст, его значение пишем в фигурных скобках. К примеру h1{foo}
преобразится в:
Квадратные скобки используются для добавления атрибутов и их значений. К примеру, a[href=#]
преобразится в:
Вложенность элементов
Благодаря Emmet и синтаксису написания вложенных выражений, вы можете полностью создать полноценный html документ, воспользовавшись одной аббревиатурой. Родительский элемент ставится перед знаком >, а все внутренние элементы должны идти за ним. Знак + позволяет соединить несколько аббревиатур, так что сгенерированный код будет идти друг за другом. Новый оператор под знаком ^
позволяет подняться на один уровень выше.
Группировка
Часто можно немного запутаться, когда вы пишите большие аббревиатуры. Для того чтобы этого избежать, можно воспользоваться группировкой. К примеру, (.foo>h1)+(.bar>h2)
преобразится в:
<div class="foo"> <h1></h1> </div> <div class="bar"> <h2></h2> </div>
Подстановка названий тегов
Для того чтобы создать div блок с класом item, достаточно преобразовать аббревиатуру div.item
.
В прошлом написание подобных выражений было упрощено. К примеру, чтобы получить тот же <div class="item"></div>
, можно было написать аббревиатуру .item
. Emmet в этом плане стал ещё более продвинутым. Теперь плагин может автоматически определять, какой тег нужно подставить в зависимости от родителя. Т.е. если мы преобразуем аббревиатуру .item
внутри списка <ul>
, то аббревиатура превратится в <li class="item"></li>
, вместо <div class="item"></div>
, как это было раньше.
Вот небольшая шпаргалка:
li
дляul
иol
tr
дляtable, tbody, thead
иtfoot
td
дляtr
option
дляselect
иoptgroup
Умножение
Также, с помощью знака *
, вы можете определить, сколько раз должен напечататься нужный вам элемент. Таким образом, аббревиатура ul>li*3
преобразуется в:
<ul> <li></li> <li></li> <li></li> </ul>
Нумерация
Как на счёт комбинации оператора умножения и нумерации? Да нет проблем! Просто поставьте знак $
в конце названия атрибута или элемента и будет вам счастье! К примеру, ul>li.item$*3
превратится в:
<ul> <li class="item1"></li> <li class="item2"></li> <li class="item3"></li> </ul>
Попробуйте сами!
Не терпится попробовать?! Следующее текстовое поле как раз для вас. Пишите аббревиатуру, затем нажимайте tab и вуаля!
CSS аббревиатуры
Значения
Emmet предназначен для упрощения написания не только HTML, но и CSS кода. К примеру, вы хотите задать элементу ширину. Для этого просто напишите w100
:
Значение px ставится по умолчанию. Для другой единицы измерения используйте специальные символы. К примеру h10p+m5e
:
height: 10%; margin: 5em;
Список возможных значений:
p
→%
e
→em
x
→ex
Дополнительные опции
К примеру, с помощью выражения @f
, вы можете получить код:
@font-face { font-family:; src:url(); }
В данном случае, такие опции как background-image, border-radius, font, @font-face, text-outline, text-shadow
могут быть добавлены, если к выражению приписать знак +
. К примеру, @f+
преобразуется в:
@font-face { font-family: 'FontName'; src: url('FileName.eot'); src: url('FileName.eot?#iefix') format('embedded-opentype'), url('FileName.woff') format('woff'), url('FileName.ttf') format('truetype'), url('FileName.svg#FontName') format('svg'); font-style: normal; font-weight: normal; }
Автоматический поиск
Emmet также может осуществить поиск нужного значения, если вы не совсем верно написали выражение. Плагин будет искать самое схожее выражение: к примеру, аббревиатуры ov:h, ov-h, ovh
и oh
преобразуются в один и тот же код:
CSS3 префиксы
CSS3 конечно очень крут, но запомнить все существующие префиксы просто невозможно! Ну и не надо! Emmet и тут окажет нам помощь. К примеру, слово trs будет преобразовано в:
-webkit-transform: ; -moz-transform: ; -ms-transform: ; -o-transform: ; transform: ;
Также вы можете приписать свои префиксы. К примеру, -super-foo
преобразится в:
-webkit-super-foo: ; -moz-super-foo: ; -ms-super-foo: ; -o-super-foo: ; super-foo: ;
Что если вам нужны только несколько из существующих префиксов? Нет проблем, просто укажите первые буквы их названий: -wm-trf
преобразуется в:
-webkit-transform: ; -moz-transform: ; transform: ;
w
→-webkit-
m
→-moz-
s
→-ms-
o
→-o-
Градиенты
Если говорить о CSS3, то нельзя обойти стороной градиенты. Все те сложные выражения, что вы писали вручную, можно заменить на одну аббревиатуру. К примеру, lg(left, #fff 50%, #000)
преобразуется в:
background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(0.5, #fff), to(#000)); background-image: -webkit-linear-gradient(left, #fff 50%, #000); background-image: -moz-linear-gradient(left, #fff 50%, #000); background-image: -o-linear-gradient(left, #fff 50%, #000); background-image: linear-gradient(left, #fff 50%, #000);
Дополнительные возможности
Lorem Ipsum
С Emmet вы можете забыть об онлайн сервисе Lorem Ipsum. Теперь для этого есть специальная аббревиатура: lorem
или ipsum
. Также вы можете указать, сколько слов нужно сгенерировать. К примеру, lorem10
преобразуется в:
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero delectus.
Также lorem ipsum можно смешать с другими элементами. К примеру, p*3>lorem5
:
<p>Lorem ipsum dolor sit amet.</p> <p>Voluptates esse aliquam asperiores sunt.</p> <p>Fugiat eaque laudantium explicabo omnis!</p>
Настройка под себя
Emmet даёт нам возможность изменить большой спектр настроек плагина. Для этого нужно будет отредактировать три файла:
Для добавления нового выражения или изменения уже существующего отредактируйте файл snippets.json
Для преобразования работы фильтров и действий попробуйте изменить файл preferences.json
Для контроля отображения HTML и XML кода, редактируйте файл syntaxProfiles.json
И ещё!
Это только вершина айсберга. Emmet содержит в себе ещё огромное количество возможностей, таких как кодирование/декодирование изображенийdata:URL
, обновление размеров изображения, увеличение/уменьшение цифровых значений и т.д.
Официальную страничку плагина можно найти тут. Также в вашем распоряжении документация и шпаргалка
Поддержка текстовых редакторов
Вот список тех текстовых редакторов, в которые можно внедрить Emmet:
А что скажете вы?
Пользуетесь ли вы данным плагином? Если да, то какие ваши любимые фишки? Делитесь опытом!
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/UC724CHCK4M/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Всегда храни верность своему начальнику - следующий, может быть еще хуже... |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.