[00:06] посмотрим на него, и прежде чем начнём кодировать. Поскольку мы всё ещё в Photoshop, нам нужно определить изображения, которые необходимо экспортировать. Очевидно, что эту текстуру фона нужно экспортировать, мы не можем воссоздать её в [00:20] CSS. Затем эти стрелки и изображение заголовка нужно экспортировать. А эту кнопку, с другой стороны, мы можем воссоздать с помощью CSS, поэтому нам не нужно её экспортировать. А [00:34] поэтому нам не нужно её экспортировать. А этот блок можно создать в CSS. этот блок можно создать в CSS. Так что у нас есть только это изображение и наш фон. Давайте начнём с фона. Сейчас я [00:49] покажу вам, как я бы это сделал с большинством узоров. Этот узор немного проще, потому что на нём есть сетка. Для большинства узоров я бы Для большинства узоров я бы [01:06] получилось так: я взял покажу вам, каким был этот узор, а затем [01:19] я превратил его вот в это. Итак, теперь у него совершенно другой стиль, но узор всё тот ​​же, просто другой цвет и всё остальное. Что я сделаю? Зайду и посмотрю, какого [01:34] Вы увидите, что он 200 на 20000 200 на 20000 пикселей. Затем я создам пикселей. Затем я создам новую версию, объединив все слои, [01:46] состоит из двух слоев. Я продублирую его, затем нажму Command+E, чтобы продублирую его, затем нажму Command+E, чтобы переместить их и объединить. В этом случае я вижу, где он легко повторяется. Ой, [02:04] пикселей, просто перетаскиваю его точно туда, куда нужно, затем немного корректирую, пока не получится идеально, копирую, нажимаю Command+N, чтобы создать [02:19] копирую, нажимаю Command+N, чтобы создать новый, и сохраняю его в папке «Сохранить веб-страницы» новый, и сохраняю его в папке «Сохранить веб-страницы» установите JPEG с качеством, которое выглядит [02:35] прилично. [Музыка] Теперь мне нужно вспомнить, куда я поместил этот дизайн приложения. этот дизайн приложения. Сайт мастер-классов и презентаций книг. Итак, [02:50] давайте просто скажем, что представляет собой предыстория мастер-класса. jpeg, хорошо, это одно из наших изображений, следующее я сниму выделение и [03:02] просто удалю этот слой, потому что он был временным для следующего изображения, вот здесь. Я мог бы использовать шрифт в [03:14] здесь. Я мог бы использовать шрифт в CSS 3, чтобы включить эти фрагменты текста с рукописным шрифтом, но для такого небольшого количества текста я не думаю, что это стоит того, поэтому я [03:27] просто включу все это в одно большое И я также выберу этот фон, так что я [03:41] фон, так что я выберу несколько слоев. У меня есть вся затем несколько фоновых слоев. И я собираюсь использовать инструмент под названием DevRocket, который доступен за 10 долларов, просто погуглите его [03:56] и нажмите UI Snips, это моя любимая функция, и он захватит слои и перенесет их в новый блок, новое диалоговое окно, извините, новый холст, а [04:08] диалоговое окно, извините, новый холст, а затем я могу просто затем я могу просто обрезать его до нужного мне размера, что мне потому что я пытаюсь понять, где заканчиваются эти тени. Я мог бы [04:24] ещё больше упростить себе задачу, просто взяв образец этого цвета, чтобы убедиться, что он у меня есть, а затем удалив эти два слоя и снова нажав UI Snips. Я мог бы просто сделать это в... ну, извините, мне не нужны эти [04:40] фрагменты текста, потому что их очень легко воссоздать с помощью легко воссоздать с помощью CSS. Хорошо, теперь, если я нажму UI Snips, вы увидите, что он переносит его прямо к краю этой тени и определяет, [04:53] где она заканчивается, и таким образом мне не нужно беспокоиться о случайном обрезании тени или чём-то подобном. Хорошо, теперь я могу сохранить это. Мы собираемся сделать JPEG, довольно большой, но вы увидите, [05:08] JPEG, довольно большой, но вы увидите, что для получения этого текста мне нужно установить качество на средне- высокое. Это большое изображение, я просто буду высокое. Это большое изображение, я просто буду работать с ним в данном [05:25] JPEG, и это, собственно, все наши экспортированные изображения, так что давайте закроем эти ненужные окна, а после этого останется только код. Я открою [05:42] окно с кодом. Я использую программу Espresso для написания кода, но вы можете писать что угодно. Хорошо, у кода, но вы можете писать что угодно. Хорошо, у заголовок в формате HTML, а затем я ссылаюсь на эту таблицу [05:58] стилей. Ладно, я отложу это в сторону и настрою так, чтобы было видно и то, и другое. И я начну я начну добавлять сюда код. Давайте сделаем div с [06:12] идентификаторами страниц, закроем его. страниц, закроем его. [06:27] заголовок внутри. Я сделаю H1, мы разместим основной [06:49] Здесь я хочу, чтобы отображался текст, поэтому я сделаю H2 и сделаю H2 и напишу «Мастер-класс по разработке веб-приложений», [07:09] неупорядоченный список. Никто этого не увидит, потому что я скрою его и заменю изображением. Но нам все равно нужно, чтобы он был изображением. Но нам все равно нужно, чтобы он был там для тех, кто [07:21] использует программы чтения с экрана или что-то еще, там, если по какой-либо причине изображение не [07:41] U- [08:15] затем мой div боковой панели, и это все для основных элементов. Я собираюсь скопировать и вставить весь этот огромный объем контента, а затем начать его форматировать. Допустим, это [08:30] абзац, но я просто добавлю класс Lead, потому что у меня немного больший размер шрифта, это позволит мне его стилизовать. [09:27] часть программирования, которую никто на самом деле не хочет делать, хорошо? Давайте посмотрим, этот неупорядоченный [09:40] хорошо? Давайте посмотрим, этот неупорядоченный список. Давайте откроем и закроем элементы списка для каждого из них, [10:01] список и сохраним. Давайте нажмем «Предварительный просмотр» и посмотрим, как это выглядит. потому что мы не добавили никакого CSS. Единственное, о чем стоит беспокоиться, это то, что вы видите все эти странные вещи здесь. Это потому, что я скопировал и вставил несколько [10:14] потому, что я скопировал и вставил несколько символов форматированного текста, а HTML это не любит. Давайте найдем один из них, и я покажу вам, как это исправить. Итак, в нашем вводном абзаце, вот здесь, в нашем онлайн-тексте, это вот это. [10:30] Итак, я собираюсь выполнить поиск и замену. Я найду все эти символы же, но этот символ немного изогнут, а этот прямой. Заменить все, сохранить. [10:42] Теперь, когда мы вернемся, вы увидите, что больше нет этих странных этих странных символов, что нас есть вся эта боковая панель. Возьмите этот раздел, [11:06] просто вставьте его. Хорошо, это был наш H2, на самом деле нет, это размер H3, потому что мне нужно было подобрать его так же, как в области контента. Это будут [11:25] тоже специальный символ. Мне нужны три точки, это абзац, а это неупорядоченные [11:39] списки. Я просто скопирую и вставлю это [12:19] Давайте посмотрим. У меня есть еще несколько таких странных символов, которые нужно странных символов, которые нужно исправить. Где они? Вот один. исправить. Где они? Вот один. Я просто перепечатываю его, но [12:33] я могу просто снова выполнить поиск, найти их все, сохранить и снова выполнить поиск, найти их все, сохранить и обновить. Так что эту точку, точку, точку [12:45] обновить. Так что эту точку, точку, точку тоже нужно исправить. Хорошо, если мы найдем еще, мы исправим их по ходу работы. Итак, теперь это весь наш [12:58] контент. О, это почти весь наш контент, мы приближаемся к цели. О, это почти весь наш контент, мы приближаемся к цели. [13:13] линию, это будет наша разделительная линия. Затем я могу взять весь Затем я могу взять весь этот раздел. Вставьте это, [13:55] которая будет просто ссылкой на Gumroad, [14:18] для CSS, так что давайте начнем. Во-первых, я использую шрифт из Google Web Fonts под названием Open Sands. Он мне [14:31] Fonts под названием Open Sands. Он мне Хорошо, далее в теле я хочу задать отступы в ноль пикселей и отступы в ноль пикселей. Это просто хорошие параметры по умолчанию. Размер шрифта по умолчанию [14:46] будет 14 пикселей. Затем в качестве семейства шрифтов я семейства шрифтов я выберу Open Sands, которое я только что указал выше, выберу Open Sands, которое я только что указал выше, затем перейдем к Helvetica, [15:00] затем Ariel, а затем Sandsif. Хорошо, теперь фон. На случай, если изображение не загрузится или до того, как оно загрузится, я хочу использовать похожий цвет, поэтому я просто предварительно [15:16] заполню эти поля. И это фон Workshop Das. JPEG, и я хочу, чтобы он повторялся, и мне, в общем-то, всё равно, где он [15:30] начинается. Хорошо, давайте посмотрим. Вы видите, что шрифт установлен, и у нас есть замечательное повторяющееся фоновое изображение. Итак, теперь давайте начнём стилизовать эту страницу. Давайте зададим ей ширину 1000 [15:51] пикселей, белый цвет фона, а затем отступ 100 пикселей затем отступ 100 пикселей сверху. Я подкорректирую это позже. И вот, сверху. Я подкорректирую это позже. И вот, [16:06] страница, и давайте добавим к [16:18] оси X, ещё 0 пикселей — для смещения по оси Y, а затем 10 пикселей для размытия. Затем мы добавим цвет RGBA 0,5. [16:30] Я могу вернуться и посмотреть стиль слоя в Photoshop и увидеть, стиль слоя в Photoshop и увидеть, что я фактически установил смещение по оси что я фактически установил смещение по оси Y равным единице, чтобы эти значения [16:43] точно соответствовали тому, что у меня было в Photoshop: размер 10, а затем размер 10, а затем 19. Мы просто изменим это на 20 или 19. Мы просто изменим это на 20 или 2. — это прозрачность, [16:59] а затем я могу просто продублировать это и установить один параметр для Firefox, а затем общую тень. Давайте посмотрим предварительный просмотр, и вы видите, что там есть небольшая тень. Я бы, возможно, сделал её немного [17:12] сильнее, скажем, до 40. К сожалению, мне нужно изменить её в трёх местах. Именно там вы бы хотели использовать SAS или LessU для автоматизации некоторых из этих процессов, но мне это пока не нужно. [17:31] Далее, радиус границы 5 пикселей, а затем я собираюсь пикселей, а затем я собираюсь вставить всё это вниз и добавить красивые закругленные углы. Хорошо, теперь давайте напишем код для заголовка. [17:46] Мы можем посмотреть, у нас была идея для [18:01] фон. Это вот этот цвет, F1, Хорошо, и давайте скажем, что текстовая строка центрирована, потому что оба заголовка [18:17] центрированы. Затем большая часть работы будет происходить с этим происходить с этим [18:29] просто предположу 500 пикселей, пикселей, отступ текста. Давайте посмотрим. Я мог бы сделать отступ текста, я покажу вам два способа, которые сместят весь [18:43] способа, которые сместят весь текст далеко за левую сторону, но ходят слухи, что это приводит к увеличению времени загрузки страницы времени загрузки страницы и дополнительной работе браузера по рендерингу. [18:55] и дополнительной работе браузера по рендерингу. Поэтому вместо этого я Поэтому вместо этого я установлю верхний отступ в 500 это сделать навскидку, поэтому я просто воспользуюсь текстовым отступом. [19:12] Возможно, я вернусь к этому позже, но этот способ работает отлично, все но этот способ работает отлично, все используют его уже много лет. Да, [19:26] наше изображение называется «Заголовок мастерской» (Workshop head header) с заголовком H. [19:38] повторов, и наша ширина будет установлена автоматически на большую, но давайте сделаем автоматически на большую, но давайте сделаем центрирование сверху. Центр будет соответствовать вертикальному выравниванию. Теперь это начинает выглядеть [19:54] примерно так, как наш дизайн, видите, всё хорошо расположено. Нам нужно кое-что подправить, но мы приближаемся к цели. Давайте стилизуем наш заголовок [20:15] H1. Толщина шрифта — обычная. Размер — 30 пунктов. Я сделаю 30 затем я просто добавлю [20:30] 20 пикселей и 0 пикселей. Получается 20 пикселей сверху и снизу, 0 пикселей слева и справа. И продублируем это для H2. справа. И продублируем это для H2. Просто проверим, это [20:52] немного места, всё ещё выглядит странно. В этом случае, поскольку он находится странно. В этом случае, поскольку он находится сверху, я сделаю ноль пикселей [21:07] снизу и укорочу его до [21:21] увеличим нижний край до 40 пикселей, теперь выглядит хорошо. Верхнему краю нужно больше места, поэтому я подниму верхний край до 40 [21:38] Может быть, нам нужно немного места снизу, скажем, 10 пикселей? Так будет лучше. Хорошо. Теперь я хочу, чтобы [21:55] тень текста была по оси X, Z, Y = 1, размытие = 0. мне не нужно использовать все эти странные мне не нужно использовать все эти странные [22:07] тень текста, которую трудно заметить, но тонкая тень – это но тонкая тень – это хорошо. Хорошо, заголовок готов. Теперь хорошо. Хорошо, заголовок готов. Теперь нам нужно создать плавающий макет [22:20] нам нужно создать плавающий макет для нашего заголовок еще не готов. Мы потеряли закругленные углы, когда это делали. Поэтому я overflow hidden, и это должно вернуть нам [22:36] закругленные углы. Это также добавило некоторую странность, и вероятно, это верхний отступ. Да, у H1 есть У всех заголовков [22:50] по умолчанию есть верхний отступ, и он фактически выступает за пределы родительского элемента, что довольно странно, но такое случается. случается. Поэтому, если я просто напишу « [23:07] отступ сверху 0 пикселей», вы увидите, что он отступ, и вы видите, что он делает его немного более [23:27] Итак, в заголовке это простой нижний отступ в один пиксель. Отлично, [23:41] теперь пора перейти к какой-то отступ. Давайте посмотрим, какая у нас здесь общая ширина. Давайте посмотрим, какая у нас здесь общая ширина. [23:55] О, я верну инструмент «Выделение прямоугольной области» в обычный режим. Давайте просто получим представление. Я не буду что-то вроде 580. Это звучит примерно [24:10] правильно для нашей общей ширины, а отступы по бокам, скажем, 50. Это значит, что мне нужна ширина [24:29] 40 сверху и снизу. 50 слева и справа, и поэтому 50 слева плюс 480 плюс 50 справа дадут [24:48] боковую панель. Я выровняю боковую панель по правому краю. Объясню почему чуть позже. А теперь давайте посмотрим, какого она цвета. [25:12] Хорошо, давайте зададим базовую ширину [25:27] И я хочу такой же отступ в 50 пикселей. Ой, я открываю другие программы. Итак, 390. Я хочу, чтобы боковая панель была шириной 290 с отступом в 50 пикселей с каждой стороны. Смотрите, мы [25:43] уже получаем то, что хотим. Причина, по которой я выровнял её по правому краю, а не по левому, заключается в том, что если бы я выровнял её по левому краю, эффект был бы тот же. Мне просто нужно было бы убедиться, что мои числа идеально суммируются, [25:58] а я этого делать не хочу. Здесь у меня добавлено несколько лишних пикселей, и это позволит избежать переноса текста на следующую строку, если у кого-то немного сбито масштабирование. Есть небольшой запас кого-то немного сбито масштабирование. Есть небольшой запас [26:14] на случай ошибки, что мне нравится. Давайте посмотрим, вот ещё один посмотрим, вот ещё один символ форматированного текста, который проскользнул мимо. Где он [26:37] его как обычный текст, так гораздо лучше. Хорошо, теперь я хочу немного отформатировать контент. Итак, [26:52] абзац... ну, сначала я вернусь к основному содержимому и увеличу к основному содержимому и увеличу высоту строки до 1,5 мм. [27:15] выше. Теперь давайте оформим заголовки. Я [27:29] не хочу повторять « Тень» текста, потому что все заголовки могут иметь эту « Тень». Тень». Меня это устраивает. [27:48] полей, потому что отступы иногда работают [28:01] это на самом деле слишком много, давайте возьмем 20 и Хорошо, вот некоторые базовые параметры, а затем я перейду к стилизации [28:17] H3. Давайте посмотрим, вот то, что я называл H3, и это 24 пикселя, а это H4, а это 18. [28:37] наш дизайн начинает выглядеть так, как мы хотим. Хорошо. Далее вот этот HR. Вы видите, что в нашем дизайне он растягивается до самого края, а здесь — [28:53] давайте стилизуем нашу боковую панель HR. сейчас ширина моей боковой панели всего 290. Я просто задам значение [29:18] сейчас она выглядит с отступом, а это не то, что мне нужно. Я укажу «верхняя граница», а для нижней границы задам что-то другое. [29:32] помогло бы. Хорошо, давайте разберемся с этими параметрами. На это сделать. Я могу просто выбрать этот цвет, он будет для верхней [29:46] для верхней границы, а белый — это ffff, хорошо? Затем я установлю левый отступ в [30:00] -50 пикселей, и это сдвинет его к пикселей, и это сдвинет его к краю. Видите, теперь он выравнивается, как и ожидалось. Затем я собираюсь установить все [30:23] часовой стрелке, начиная сверху: верхний правый, нижний левый. Здесь [30:41] изменю это на... и это только на странице. И я и это только на странице. И я уменьшу это до [31:06] О, я знаю, в чем дело. Когда я отключил все отступы для H1, по все отступы для H1, по умолчанию, это все [31:35] Хорошо, все хорошо. Мне нравится, как это отформатировано. О, я хочу... Чтобы все мои заголовки были чёрными, точнее, не совсем чёрными, а чёрными, точнее, не совсем чёрными, а текст по умолчанию стал [31:49] немного светлее, просто потому что мне нравится, как это выглядит. Это мой дизайн, поэтому я могу делать то, что хочу. Нет, на самом деле хорошая практика — не использовать чисто чёрный цвет на чисто [32:03] белом фоне. Хорошо, теперь перейдём к чему-то интересному. Сначала эта кнопка, затем этот блок, а потом кнопка. Давайте посмотрим, как мы назвали этот [32:15] Давайте посмотрим, как мы назвали этот блок? Назовём его « Контейнер покупок». Допустим, у него класс «Боковая панель», «Контейнер покупок». И [32:28] потому что он будет заполнять всю ширину. Допустим, отступ 40 пикселей, белый фон. О, нам нужна тень. Я скопирую и вставлю её оттуда. [32:47] выглядит. В принципе, всё готово. Мы приближаемся к [33:20] 10% — это нормально. Хорошо, теперь у меня есть отступ нормально. Хорошо, теперь у меня есть отступ сверху заголовка, который конфликтует с слишком высоким. Поэтому я просто уменьшу отступ контейнера до 10 [33:39] пикселей. Хорошо, может быть, до 15. Ладно, [33:56] сравним. Мне кажется, этот блок меньше, чем в моем дизайне. дизайне — 240, а здесь я вижу [34:10] 240, а здесь я вижу 290. О, значит, это точно так же. Интересно, потому что отступ с каждой стороны — 58. В общем, вы поняли идею. [34:25] и начну ее стилизовать. точка, контейнер, [34:45] Теги по умолчанию не блочные. 30 сверху — нет. Давайте посмотрим, это слишком много. 15 сверху — ничего справа и слева, потому что мы просто выровняем текст по центру, и тогда нам не придется... Беспокоюсь о [34:59] цвете, я хочу белый. У что это за рамка, просто возьмем образец чуть более темного [35:23] скажу « нижняя рамка» и сделаю тот же цвет. Я просто подниму его до четырех пикселей. Давайте посмотрим, забыл сделать? Хорошо, мы на самом деле приближаемся к цели. [35:39] сделать? Хорошо, мы на самом деле приближаемся к цели. Этот текст неправильного Этот текст неправильного размера. Видите, я думаю, я сделал 18 пикселей, нет, я размера. Видите, я думаю, я сделал 18 пикселей, нет, я сделал [35:59] чтобы избавиться от подчеркивания. О, тогда давайте сделаем отрицательную тень текста. Это минус один пиксель, потому что я хочу подняться на один пиксель потому что я хочу подняться на один пиксель [36:17] потом, я думаю, это было что-то вроде трех. Посмотрим, как это выглядит. Неплохо. У меня был радиус? Похоже, нет. [36:36] Хорошо. Давайте сделаем 0,5, потому что я этого не вижу. О, вот оно. Интересно, не окажется ли эта кнопка затерянной в углу? Нам придется провести A/B-тест или что-то подобное позже. Может быть, попробовать. Другое [36:51] расположение, но пока сойдет. Это пространство здесь очень Это пространство здесь очень тесное, поэтому я тесное, поэтому я это исправлю, просто добавив верхний отступ. [37:14] выглядит хорошо. Теперь нам нужно завершить оформление этой завершить оформление этой кнопки градиентом. Давайте сделаем это. Давайте откроем Chrome [37:27] и перейдем к без особой причины. Затем я возьму два [37:47] мне нужно два. Я вставлю этот в начало [38:03] другой — в конец. должен быть очень легкий градиент. Затем я могу скопировать этот [38:31] довольно неплохо. Теперь мне нужны тени. Я тени. Я сделаю тень в виде прямоугольника с отступом в [38:55] Окей, на самом деле я хочу, чтобы это было белым, и это 255, Я собираюсь сделать, например, 6, а затем увеличить интенсивность до [39:12] 6, а затем увеличить интенсивность до 5. Это слишком сильно. Хорошо, сделаем 0,4. Итак, это едва заметно Поэтому я добавлю запятую, а также вставку. И, э-э, [39:46] RGBA. Так что сверху акцент немного сильнее, чем по вниз, чтобы вы могли добавить несколько теней, которые в данном случае я использую [40:00] как блики, э-э, используя запятую, а затем ключевое слово «вставка» тоже очень крутое. Хорошо, так что [40:15] Теперь мы позаботимся об этом. О, мы также изменим размер этого вводного абзаца. этого вводного абзаца. Давайте поднимемся сюда и сделаем его [40:37] больше. Посмотрите, если я что-нибудь еще изменю, это было 18 или просто 16? Было 18. Я увеличу высоту строки, потому что это не очень [41:04] 0,8 — всё ещё слишком много, посмотрим. Там наверху 1,5 часа ночи, так что, может быть, посмотрим. Там наверху 1,5 часа ночи, так что, может быть, 1,7 [41:17] выглядит неплохо. Так что, спасибо за просмотр видео и, э-э, подумайте о том, чтобы watching the screencast and uh consider checking out the workshop