Как стать автором
Обновить
63.79

CSS *

Каскадные таблицы стилей

Сначала показывать
Период
Уровень сложности

Создание компонента Sidenav

Время на прочтение5 мин
Количество просмотров7K

В данной статье я хочу поделиться одним из способов создания компонента боковой панели навигации (sidenav), являющегося отзывчивым, поддерживающего навигацию с клавиатуры, работающего как при помощи JavaScript, так и без него, и поддерживаемого всеми браузерами.

Читать далее

Обнаружение устройств, поддерживающих hover

Время на прочтение4 мин
Количество просмотров5.3K

Сейчас, когда количество устройств стало бо́льшим, чем когда-либо прежде, мы, разработчики, больше не можем полагаться на область видимости, как единственный фактор, определяющий стилизацию сайта. До недавнего времени мы могли отталкиваться от размера устройства: например, считая, что на мобильных устройствах используется сенсорный ввод, а на устройствах с большим экраном — мышь. И на этом основании с помощь медиазапроса определить вариант стилизации содержимого:

Читать далее

Ваше изображение не декоративно

Время на прочтение4 мин
Количество просмотров4.3K

Размещение изображений на сайте очень важно т.к. это помогает передать смысл страницы. Это значит, что почти каждое изображение, которое вы создаете, должно иметь альтернативное описание.

Читать далее

От студента до учителя: как разобраться в веб-разработке, если это не твой профиль

Время на прочтение8 мин
Количество просмотров5K

Хоть кому-то и может показаться, что веб-разработчик — это суровый технарь (айтишник же!), вход в эту профессию не сложнее, чем в Python . В неё часто переходят бывшие педагоги, юристы, бухгалтеры и другие гуманитарии. О том, с чего начать обучение, какие ошибки допускают новички, как освоиться в профессии и стоит ли самостоятельно учиться, рассказывает преподаватель веб-разработки в GeekBrains Алексей Кадочников.

Читать далее

Обзор курсов по веб разработке

Время на прочтение5 мин
Количество просмотров95K

В заметке я расскажу о моем опыте прохождения курсов по web разработка в школах: специалист, loft school, html academy, learn.javascript.ru. Эта заметка будет интересная всем, кто интересуется веб разработкой и всерьез думает сделать это своей работой. Подобные мысли заняли меня 2 года назад. Тогда я работал инженером. Сейчас я работаю frontend разработчиком в банке, поддержка ветхого сайта на битрикс и разработка нового на react, так что обучение не прошло даром. Мне периодически задают вопросы, где можно поучиться веб разработке и с чего начать, по этому я решил систематизировать свой опыт.


Итак, я решил, что курсы с четким планом обучения, заданиями и проверкой со стороны преподавателя (наставника) это самый короткий путь к мой цели, так и вышло. Но пройденные курсы сильно различались, а проходил я их специально в разных школах.

Читать дальше →

Выравнивание в Bootstrap

Время на прочтение2 мин
Количество просмотров47K

При работе с фреймворком Bootstrap обычно сталкиваются с тремя основными проблемами:


  1. Как поместить контент внизу колонки?
  2. Как создать многорядную галерею колонок одинаковой высоты в одном .row?
  3. Как центрировать горизонтально несколько колонок, если их суммарная ширина меньше 12 единиц и оставшаяся ширина нечетна?

Для решения первых двух проблем, необходимо скачать небольшой плагин.


Решение третьей проблемы подсмотрено здесь.


Общий код


<style>
    [class*=col-] {position: relative}
    .row-conformity .to-bottom {position:absolute; bottom:0; left:0; right:0}
    .row-centered {text-align:center}   
    .row-centered [class*=col-] {display:inline-block; float:none; text-align:left; margin-right:-4px; vertical-align:top} 
</style>

<script src="assets/conformity/conformity.js"></script>
<script>
    $(document).ready(function () {
        $('.row-conformity > [class*=col-]').conformity();
        $(window).on('resize scroll', function() {
            $('.row-conformity > [class*=col-]').conformity();
        });
    });
</script>

Читать дальше →

Инструментарий для front-end разработки под Linux

Время на прочтение6 мин
Количество просмотров25K
Доброго времени суток, господа девелоперы! В этой статье я расскажу, как сделать разработку под Linux действительно комфортной и удобной, чтобы она приносила только боль удовольствие.

Чего мы добиваемся:
Просматриваем страницу в браузере и правим в текстовом редакторе HTML и CSS/SASS. Код извлекаем напрямую из PSD, попутно корректируя до PixelPerfect прямо в браузере. При сохранении SASS автоматически преобразуется в CSS и загружается на сервер. Необходимые картинки из PSD шаблона вырезаем в два клика, после чего они так-же автоматически загружаются на сервер. Как этого добиться менее чем за пол часа? Я расскажу вам!

Сразу хочу предупредить вас, если ваш опыт работы более нескольких лет и вы являетесь достаточно опытным front-end'ером, то ничего нового вы в этой статье не найдете. Она предназначена для людей, которые относительно недавно присоединились к GNU/Linux сообществу или только решили к нему примкнуть.

Краткое содержание


  1. Выбор браузера
  2. Установка расширений для Firefox
  3. Выбор текстового редактора
  4. Необходимые расширения для Sublime Text 3
  5. Дополнительные инструменты и оптимизация системы
Читать дальше →

CSS наших дней

Время на прочтение7 мин
Количество просмотров7.1K

Лучшие практики стилизации элементов сейчас можно выразить следующими тезисами:


  1. Старайтесь стилизовать элементы так, чтобы их визуализация не ломалась при перемещении их в другое место. Из этого принципа следует, что стоит минимизировать использование составных селекторов (например, вида header p a).
  2. Используйте пространства имён, чтобы минимизировать вероятность конфликтов правил относящихся к разным элементам. Это приводит к длинным именам, но избавляет от кучи проблем в будущем.

Итак, какие возможности для привязки стилей к элементам у нас есть сейчас? У любого элемента есть следующие характеристики:


  1. Имя элемента
  2. Идентификатор
  3. Набор классов
  4. Набор атрибутов
  5. Набор свойств

Давайте посмотрим, как мы можем их использовать, на примере простого списка задач, содержащего карточки с названием задачи и оценкой времени её выполнения...

Читать дальше →

Книга «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 4-е изд.»

Время на прочтение3 мин
Количество просмотров30K
image Новое 4-ое издание признанного бестселлера, охватывающего как клиентские, так и серверные аспекты веб-разработки. Эта книга поможет вам освоить динамическое веб-программирование с применением самых современных технологий. Книга изобилует ценными практическими советами, содержит исчерпывающий теоретический материал. Для закрепления материала автор рассказывает, как создать полнофункциональный сайт, работающий по принципу социальной сети.

  • Изучите важнейшие аспекты языка PHP и основы объектно-ориентированного программирования.
  • Познакомьтесь с базой данных MySQL.
  • Управляйте cookie-файлами и сеансами, обеспечивайте высокий уровень безопасности.
  • Пользуйтесь фундаментальными возможностями языка JavaScript.
  • Применяйте вызовы AJAX, чтобы значительно повысить динамику вашего сайта.
  • Изучите основы CSS для форматирования и оформления ваших страниц.
  • Освойте продвинутые возможности HTML5: геолокацию, обработку аудио и видео, отрисовку на холсте.

Читать дальше →

Цикломатическая сложность: Логика CSS

Время на прочтение4 мин
Количество просмотров12K
На протяжении многих лет мы утверждали, что в CSS нет логики. Тем самым мы хотели сказать, что не было потока управления или способа программно им манипулировать. Этот свойственный недостаток логики использовался в качестве аргумента в пользу использования процессоров (для обеспечения этой недостающей функции), и в качестве аргумента против препроцессоров (CSS никогда не подразумевал наличия логики, поэтому нам не стоит пытаться ее внедрить).

Однако недавно я столкнулся с мыслью, которая заставила меня осознать, что CSS на самом деле имеет логику, и тот факт, что она редко рассматривается как таковая, наверное, и есть причина, почему у нас CSS получается в целом довольно слабым.

Я обнаружил, что я объясняю клиенту сложные селекторы, как будто они состоят из предмета – вещи, в которой мы фактически заинтересованы – и его условий. Например:
Читать дальше →

Создаем эффективные стили для каруселей

Время на прочтение9 мин
Количество просмотров12K
Эта статья не о дизайне эффективных каруселей, а об эффективном создании стиля. Другими словами, речь пойдет не о UI-дизайне, а о конструкциях CSS – смене элементов карусели, их позиционировании и размерах.

Зависимость от JavaScript с точки зрения взаимодействия, а не стиля

«Эффективная карусель» — это карусель, которая не зависит от JavaScript с точки зрения:

• отзывчивости
• содержания любого количества элементов
• отображения любого количества элементов
Читать дальше →

Проведение аудита CSS: Таблицы стилей не должны быть ужасными

Время на прочтение4 мин
Количество просмотров12K
Когда мы начинаем работу над существующей базой кода, в первую очередь нужно провести аудит CSS. Основной вред от плохо организованных и запущенных CSS-таблиц заключается в замедлении процесса разработки, так как команде разработчиков приходится пробираться через дебри кода, и в нерабочем сайте, в случае если неверно определенные селекторы становятся причиной коллизий и наложения стилей.

Такой аудит помогает оценить, насколько хорошо организованы CSS-таблицы проекта, насколько соответствует конвейер, отвечающий за их оценку и сборку, современным требованиям, а также насколько хорошо структурирована и дисциплинирована команда, занимающаяся написанием CSS. Здесь перечислены некоторые шаги, которые можно использовать для проведения собственного аудита CSS:
Читать дальше →

Распространенная ошибка верстки: тестируем горизонтальную прокрутку

Время на прочтение1 мин
Количество просмотров17K
Эта ошибка крошечная и незаметная, но все же, это ошибка. Она присутствует на чудовищном количестве сайтов, в т.ч. на Хабрахабре.

Проблема возникает с фоновыми изображениями у элементов, которые тянутся на всю ширину окна браузера. Например, подвал Хабрахабра. Если уменьшить окно браузера до появления горизонтальной прокрутки и крутить вправо, то фон может просто обрубиться.

Читать дальше →

Ближайшие события

GPU-ускорение CSS-фильтров в Chromium

Время на прочтение1 мин
Количество просмотров2.2K
Одно из нововведений в Chromium 19 — CSS-фильтры с аппаратным графическим ускорением. С помощью свойства filter осуществляется попиксельная обработка любого видимого элемента на странице — всего одной строчкой CSS.

Сочетая в строчке разные параметры, можно придумывать оригинальные эффекты.


img { -webkit-filter: sepia(100%) contrast(200%) blur(5px) }

Параметры фильтра: сепия, насыщенность, прозрачность, размытие, яркость, инверсия, контраст, создание тени и другие. Это отличный способ улучшить оформление страницы, а также создавать веб-приложения и игры с новыми возможностями.
Читать дальше →

Golden Grid CSS: PSD-шаблон

Время на прочтение1 мин
Количество просмотров9.1K
Относительно недавно познакомился с CSS-сеткой Golden Grid. Мне она понравилась небольшим весом и использованием правила «золотого сечения». Golden Grid более простая, чем Blueprint. Я не настаиваю на том, что она более удобная, но для моих задач подходит как нельзя лучше.

Вместо обозначений классов span-1, span-2… используются более интуитивные g160, g320 и т.д. Кроме того, неплохая типографика, подстроенная специально под сетку.

Сетка относительно новая (2009), поэтому не хватает многих важных деталей. Например, psd-шаблона. Решив заполнить столь значимый пробел, я создал такой шаблон, благо много времени это не занимает. Проведены и линейки, и серые прозрачные прямоугольники. Это сделано для того, чтобы сетку можно было ставить поверх основного дизайна.

Скачать (.zip, 20 кб)

Безопасный хак для Safari

Время на прочтение1 мин
Количество просмотров7.5K
Имеем: навороченную форму без таблиц
Нужно: подвинуть съезжающий из-за сглаживания шрифтов label в Safari
Примечание: подвинуть безопасно, а не css3-свойствами.

Вуаля! есть замечательное свойство safari only позволяющее подвинуть что-угодно куда-угодно влево-вправо!
Читать дальше →

Создание вращающейся ручки на основе Input Range

Время на прочтение4 мин
Количество просмотров1.1K

Рад приветствовать тебя,%username%. В этой статье я поделюсь тем, как создать вращающуюся ручку (в зарубежной литературе именуемой Knob). Далее по тексту я её буду называть «кноб». Перейдём к сути вопроса.

Что меня сподвигло на написание данной статьи, или как я докатился до жизни такой

Когда‑то давно, будучи ещё совсем зелёным и несмышлёным кодером, мне взбрело в голову сделать своё приложение. Моих знаний хватало на какой‑нибудь «Hello, World!», но кое‑что выдать я мог. И на тоот момент мне позарез нужно было реализовать кноб — тот самый круглый регулятор, который можно крутить и он будет менять значения. И как любой уважающий себя программист, я сразу же полез гуглить стековерфлоу и прочее непотребство, дабы найти тот самый рецепт хлеба сладкого ответ на вопрос, который так долго меня волновал. Однако перешерстив весь интернет, ничего путёвого я не нашёл. Расстроившись, я забил на эту идею. Но какие‑то угольки веры в то, что у меня получится это сделать, тлели в моей охолодевшей к этому миру душонке. И вот на днях, когда я начал работать над своим проектом (небольшая программка, если она найдёт отклик в народных массах, то и по ней напишу парочку руководств, но пока что спустимся на землю), мне опять ударила моча в голову с этими кнобами. Тем более, что все предпосылки ведут именно к этому. Они нужны в интерфейсе. Забравшись в православный яндекс и одновременно в бездуховный гугл, я опять наткнулся на мель отсутствия нужной мне информации. Были только решения с какими‑то библиотеками и интересными историями на jQuery. Плюнув на всё и засучив рукава, я вдруг осознал, что этот мир нуждается в моём компетентном и всем так очень нужном мнении (спойлер: нет). Тогда я принялся за gehirnsturm и молниеносно придумал пару решений. Первое заключалось в SVG на основе path, но оно показалось мне чересчур геморройным. Там много JS надо написать, но не надо никаких стилей зато. И вот второе решение отчасти продолжает идею первого, но с некоторыми отличиями: оно немножко проще в том плане, что начальное, конечное и текущее значение, а также шаг уже вмонтированы в него, что существенно сокращало труды мои праведные. Но, как гласит закон сохранения энергии, энергия не приходит и не уходит, она лишь изменяется. Поправьте, если не так. А это значит, что если где‑то стало проще, то где‑то стало сложнее.

Читать далее

CodeCraft Academy: Как я создаю открытую платформу для обучения программированию

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1K

Привет, Хабр! Я yukk1ro, и сегодня хочу рассказать о своем проекте, который призван сделать обучение программированию более доступным и эффективным.

Читать далее

Интеграция CSS-фреймворков в Angular: советы, которые вы не знали

Уровень сложностиСредний
Время на прочтение52 мин
Количество просмотров2.3K

Вы создали новое Angular‑приложение, подключили популярный CSS‑фреймворк, но вместо ожидаемого вау‑эффекта столкнулись с проблемами: стили выглядят не так, как хотелось, валидация форм работает странно, а некоторые элементы вообще не реагируют на изменения состояния. Знакомо? Это типичная ситуация, когда CSS‑фреймворки интегрируются без учета особенностей Angular.

Эта статья поможет вам разобраться, почему возникают такие трудности, и покажет, как правильно интегрировать CSS‑фреймворки в Angular. Мы рассмотрим ключевые проблемы, разберем их решения и реализуем стильное, реактивное поле ввода с применением лучших практик Angular.

Читать далее

Прочитай перед тем, как делать анимацию по скроллу

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.3K

Я интегрировал видео анимацию, которая перематывается в зависимости от положения скролла, для лендинга детского парка развлечений - wizardia.land

Я думаю, я попробовал все неправильные способы, как можно это реализовать, и дальше расскажу про свой опыт.

Стек проекта: nuxt 3 (ts) / tailwindcss

Идея нашего руководства состояла втом, чтобы создать «вау» эффект для новых пользователей. Для этого оно обратились к 3д художнику, чтобы он намоделил нам видео с красивой переливающейся сферой посередине и последующим ее взрывом с разлетающимся конфетти и тематическими элементами. После того, как оказалось, что само по себе видео выглядит не так впечатляюще, они решили, что оно не должно воспроизводится сразу, а должно перематываться при скроллинге страницы - и тут все началось.

Содержание - вкратце по тупым ошибкам, которые я совершил.

Читать далее

Вклад авторов