Всем друзьям большой привет! Флексбокс шагает по планете — наступает эпоха комфортной веб-разработки. Сегодня я покажу как можно верстать таблицы и текст флексбоксами, и немного раскажу о моем фреймворке. Это действительно ненормальное программирование.

1. Верстка таблиц флексбоксами


Флексбокс — это простой и удобный способ позиционирования элементов внутри блока. Таблицы тоже могут быть свёрстаны флексбоксами потому что их структура — элементы внутри блоков. Вёрстка традиционных html-таблиц значительно сложней чем верстка флексбоксов.

Для флексбокс-таблиц типа ОС, ООО, ООН, ОСО может быть достаточно всего пяти кнопок управления:

image

> Код редактора таблиц, 700 строк

2. Верстка текста флексбоксами


Обычный текст это тоже элементы внутри блока, поэтому текст вполне возможно верстать флексбоксами. Для этого надо каждое слово поместить в собственный span — абзац это div в котором span-слова. Каждое span-слово может иметь собственные id, class и data. При редактировании span-слова, каждая его буква временно помещается в собственный span.

Мне так удобнее работать с текстом на сенсорном экране.

image

> Код редактора текста, 600 строк

При таком способе сокращается количество CSS-cвойств, необходимых для оформления текста, до десяти:

  1. color
  2. direction
  3. font-family
  4. font-style
  5. font-size
  6. text-decoration
  7. text-transform
  8. text-shadow
  9. text-overflow: ellipsis;
  10. white-space: nowrap;

3. Мой нанофреймворк


Я инженер-программист, в программирование пришел из лингвистики. Изучив языки JS CSS HTML, я выделил в каждом простое ядро-подмножество. Это мой «супер строгий режим» — максимальный минимализм.

Веб-программирование прекрасно тем что оно в десять раз проще обычного классического, например на С++Qt. Выделив главное и отбросив избыточное, я уменьшил сложность еще в десять раз.

Например мне достаточно десяти тегов языка HTML внутри body:

  1. span
  2. div
  3. img
  4. audio
  5. video
  6. svg
  7. canvas
  8. iframe
  9. form
  10. input

Мой фреймворк уменьшает сложность, а не увеличивает её как обычные фреймворки. Моё понимание принципа KISS — программирование должно быть простым и понятным даже детям 12+. Моя задача — максимально снизить порог вхождения в программирование.

image

По умолчанию всё есть Флексбокс.

*
{
position:relative;
display:flex;
}

title,script,style
{
display:none;
} 

Свойство display принимает только два значения — flex или ничего.

В рамках этого шаблона я сделал свой дипломный проект — WCMS.
Об этом — в следующей Хабре.
Поделиться с друзьями
-->

Комментарии (9)


  1. 776166
    20.01.2017 15:53
    +1

    наступает эпоха комфортной веб-разработки

    Шо, ОПЯТЬ!? ©
    Да сколько же можно-то?!


    1. sashabeep
      20.01.2017 17:09

      20 лет уж скоро ждем, как наступит эра комфортной веб-разработки :)


  1. limonte
    20.01.2017 15:59
    +2

    Геймифицированный вводный курс по flexbox: http://flexboxfroggy.com/


  1. raveclassic
    20.01.2017 16:33
    +2

    А о чем статья-то вообще?


    1. k12th
      20.01.2017 16:37
      +2

      Я инженер-программист, в программирование пришел из лингвистики.


  1. Spiritschaser
    20.01.2017 16:48
    +3

    Веб-программирование прекрасно тем что оно в десять раз проще обычного классического,

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


  1. sumanai
    20.01.2017 16:57
    +2

    Таблицы тоже могут быть свёрстаны флексбоксами потому что их структура — элементы внутри блоков. Вёрстка традиционных html-таблиц значительно сложней чем верстка флексбоксов.

    Про семантику уже все забыли? Табличные данные должны быть в таблицах.


  1. misato
    20.01.2017 17:10

    Забавно, и да, ультрахардкор.


  1. sidny_vicious
    20.01.2017 17:16
    +1

    Верстать flexbox-ом таблицы нельзя. Согласно семантике таблицы должны быть в таблице. Это необходимо для корректной работы браузера и избежания проблем с поисковыми системами.
    Ограниченный набор тэгов сейчас тоже не в почете. В спецификации HTML 5.0 рекомендуется использовать особые тэги для навигации, для адреса, для статей и тому подобного. Эту семантику игнорировать не стоит и важно ее учитывать при создании валидного кода.

    А про простоту веб-программирования можно поспорить. Веб требует большего внимания к деталям. Например, клиент должен быть адаптирован к большинству браузеров, а в некоторых случаях быть менее ресурсоемкими и грузиться даже при медленном интернете. И одинаково отображаться на разных устройствах. Этого добиться намного сложнее, чем предусмотреть все на десктопе.
    Веб обманчиво прост, а на деле скрывается огромный пласт подводных камней.