Сайт о телевидении

Сайт о телевидении

» » Макет html страницы с помощью таблицы. Двухколоночный шаблон с использованием обтекания. Какой из способов выбрать

Макет html страницы с помощью таблицы. Двухколоночный шаблон с использованием обтекания. Какой из способов выбрать

Создание макета веб страницы служит для упорядочивания элементов на сайте. Чтобы текст, картинки, видео размещались на сайте красиво и аккуратно, необходимо создать структуру страницы.

Для этого вначале рисуется таблица, а в ней ячейки. Таблица, разбитая на ячейки, позволяет четко задавать положение каждого элемента сайта.

Рисуем макетную таблицу

1 . На панели инструментов программы frontpage жмем " Таблица" и выбираем " Макетные таблицы и ячейки"

Как создать макет веб страницы в программе frontpage

2. Справа появится инструментальная панель. Нажимаем кнопку " Нарисовать макетную таблицу" . Курсор станет в виде карандаша. Теперь рисуем произвольный прямоугольник. Далее на панели справа задаем размеры: Ширина - 850, Высота - 150, Выравнивание - посередине.

Наша первая таблица готова! Здесь будет располагаться шапка сайта. Теперь нам надо нарисовать вторую таблицу под тело сайта. В ней будет располагаться основная информация сайта.

3. Для этого проделайте точно такие же действия, как для рисования первой таблицы. Не забудьте СОХРАНИТЬ! В результате у Вас должно получиться две одинаковые таблицы:

Рисуем макетные ячейки для веб страницы

Теперь в верхнюю таблицу вставим ячейку и напишем название нашего сайта.

4 . Для этого выделяем таблицу № 1. Чтобы понять, что таблица выделилась, ее границы должны стать зелеными, в углах должны появиться маркеры, а по бокам цифры с размерами таблицы.

Рисуем в программе Frontpage ячейки в таблицах

5. На панели инструментов справа нажимаем кнопку " Нарисовать макетную ячейку" . Курсор станет в виде карандаша. Ставим его в угол таблицы и рисуем прямоугольник точно таких же размеров , как и таблица. Обратите внимание, что в отличии от таблицы, границы ячейки выделяются синим цветом .

Создание макета веб-страницы - рисуем ячейку в программе Frontpage

После того, как Вы нарисовали ячейку для верхней таблицы, проделайте такие же действия и нарисуйте ячейку для таблицы №2 . В ней будет располагаться тело нашего сайта. Не забудьте сохранить!

После того, как Вы в программе Frontpage создали макет веб страницы , переходим к следующему шагу по созданию сайта. Это создание шапки для сайта.

Благодаря модульной сетке блоки контента и элементы будут располагаться на определённом расстоянии друг от друга, будут иметь удобоваримую ширину, что в дальнейшем визуально будет приятно пользователю и не будет вызывать у него какие-либо неудобства в восприятии сайта.

Модульная сетка, по сути, – это некая визуальная абстракция, визуальное деление страницы на равные по ширине столбцы с равными отступами между ними. Визуализировать данную модель можно посредствам направляющих или отдельного слоя, на котором будут изображены эти столбцы. Именно такое решение вы найдёте в шаблонах сетки 960gs.

По основам веб-дизайна и прототипированию неплохим подспорьем может стать данная книга: Джейсон Берд: Веб-дизайн. Руководство разработчика .

Разработка

Итак, процесс дизайна макета страницы плавно перетекает в процесс «оживления» сделанного на предыдущих этапах. Прежде чем сразу начинать писать HTML, CSS и JS стоит немного поговорить о редакторах кода и структуре проекта.

Редакторы кода

Из наиболее популярных редакторов кода на сегодня можно выделить три:
SMACSS
Так же существует подход SMACSS (расшифровывается данный акроним как Scalable and Modular Architecture for CSS – Масштабируемая и Модульная Архитерктура для CSS), который разделяет понятие о классах и разметке на несколько уровней: базовый, макет, модуль, состояние, тема.
  • К базовому уровню будет относиться всё, что касается непосредственно тэгов html.
  • К уровню макета мы будем относить всё, что касается основных составляющих страницы: секции.
  • К уровню модуль мы будем относить всё, что касается переиспользуемых элементов страницы: баннеры, навигация, списки, блоки информации и пр.
  • Уровень Состояние описывает как будут выглядеть модули и секции в том или ином состоянии: отображаются или не отображаются, сжатые или раскрытые, активны или неактивны и пр.
  • Уровень темы чем-то схож с уровнем Состояния и отражает как модули или секции могут выглядеть.
В данном подходе используются следующие соглашения по именованию. Уровни определяются при помощи префиксов и соответствующего буквенного обозначения:
  • Макет: .l- или .layout-
  • Так как модули составляют основную часть проекта именовать их, используя префикс module- избыточно. Поэтому для них используются имена как есть, например: .example { }, .afisha {} и пр.
  • Состояния имеют префикс .is- , например .is-hidden {}
  • Уровень Темы именуется подобно модулям.
При данном подходе часто бывает удобно каждый уровень абстракции и его классы держать в отдельном файле.

Информация о методологии и онлайн книга: https://smacss.com/
Русскоязычный перевод книги по SMACSS: https://github.com/andrew--r/smacss

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

Небольшой курс по основам HTML:

Написание CSS

Правила именования классов подводят нас к следующему этапу. Когда написана html структура проекта, определены классы можно переходить к написанию CSS стилей и нарезке макета.

Стоит упомянуть о 2-х CSS файлах-дополнениях: normalize.css и reset.css.

Reset.css

Изначально в проектах повсеместно использовался reset.css , написанный Эриком Мейером. Цель данного свода правил – сбросить стили браузера, которые он по умолчанию использует для отображения элементов разметки. Таким образом при использовании reset.css нам не нужно переписывать стили браузера, по сути мы работаем с «чистым листом» и можем сосредоточиться на написании собственных стилей с нуля.

Возвращаясь к Mobile First, стоит сказать, что при работе в данной концепции написание стилей стоит начинать с мобильной версии, а затем с помощью медиа запросов добавлять правила, которые будут работать на других разрешениях. Зачастую, при расширении правил от мобильной версии к десктопной, приходится писать гораздо меньше кода, чем при работе наоборот: от десктопной версии к мобильной.

Опять-таки, возвращаясь к теме Mobile First, нельзя не упомянуть о 2-х концепциях, которые коррелируют с данной техникой. Progressive Enhacement и Graceful Degradation, что переводится как прогрессивное улучшение и последовательное ухудшение. Данные принципы описывают 2 разных подхода к разработке: в первом случае мы разрабатываем наш сайт, пишем скрипты с учётом старых браузеров и систем или же определяем поведение при невозможности запуска скриптов, а затем постепенно улучшаем скрипт, вводя современные функции и методы, таким образом мы получаем сайт, который будет одинаково хорошо работать в старых и новых браузерах и средах (то же касается и css).

При Graceful Degradation подход противоположный – мы разрабатываем для современных браузеров и, лишь, потом начинаем вносить доработки и изменения с учётом старых версий.

Подход Mobile First чем-то схож с Progressive Enhacement.

Проверка кода

После написания html, css и js для нашей страницы необходимо проверить всё ли сделано верно. Для этого можно использовать online средства:

Командная строка

Работа в командной строке так же может ускорить некоторые этапы работы над проектом, например, создание папок и файлов. Запустив консоль в директории проекта и набрав в ней всего лишь одну строку:

Mkdir project && cd project && mkdir css && touch css/styles.css && mkdir images && mkdir js && touch js/app.js && touch index.html
После нажатия enter мы получим папку project в которой будут находиться папки css, images, js, в папках css и js файлы styles.css и app.js, соответственно, а в корне project лежать файл index.html. Таким образом мы сэкономили время на создание папки, написание её названия, создание файлов и пр. Так же командная строка используется для работы с остальными средствами автоматизации.

Так же многие сервисы вроде autoprefixer (автоматическая простановка браузерных префиксов), jshint (проверка JS кода на валидность) могут быть установлены как сторонние плагины в текстовом редакторе (Sumblime Text, Atom, Brackets) и инициализированы при нажатии определённого сочетания клавиш.

Bootrstrap, Foundation, Material Design Lite

Данные фрэймворки уже упоминались в разделе про дизайн. Но стоит опять вспомнить о них, так как они, в определённой степени, помогают автоматизировать процесс разметки веб-страницы и работы с ней.

При подключении файлов фрэймворков в проекте мы можем использовать определённые в них классы и сниппеты разметки, которые будут работать по уже описанным правилам и иметь установленный внешний вид (например, кнопки, поля ввода, таблицы и пр.). Таким образом мы экономим время, например, на описание расположения блоков дизайна, их размеров в зависимости от разрешения, внешний вид полей формы, кнопок и их состояния.

Со всеми возможностями и примерами можно ознакомиться на соответствующих сайтах:

  • Bootstrap: http://getbootstrap.com/
  • Foundation: http://foundation.zurb.com/
  • Material Design Lite: http://www.getmdl.io/
Данное описание не является исчерпывающим и представляет собой лишь поверхностный взгляд на некоторые технологии. Но прежде чем пускаться во все тяжкие, используя средства автоматизации, библиотеки, framework"и, готовый код и прочее, стоит, всё-таки, изучить основы работы с html, css и js.

Надеюсь, что все описанные вещи будут полезны вам в изучении темы веб-дизайна и фронтенд разработки.

Теги:

  • html
  • css
  • веб-дизайн
Добавить метки

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Бесплатный курс "Сайт на WordPress"

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

*Наведите курсор мыши для приостановки прокрутки.

Назад Вперед

Осваиваем CSS: макет страницы

Одно из главных преимуществ CSS - возможность контролировать внешний вид страницы без использования тэгов оформления HTML. Однако, создание CSS-шаблонов незаслуженно получило репутацию чего-то сложного, особенно среди тех разработчиков, кто еще только осваивает данную технологию. Отчасти это связано с тем, что не все браузеры одинаково интерпретируют CSS, но еще больше - с тем фактом, что сейчас существует просто огромное количество разных техник создания макетов средствами таблиц стилей.

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

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

Центрирование дизайна

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

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

Центрирование с использованием автоматических внешних отступов

Предположим, перед вами стоит типичная задача отцентровать по горизонтали контейнер div с id wrapper ("обертка").

Для осуществления этого на практике нужно просто задать ширину div wrapper и установить горизонтальные внешние отступы в значение auto .

В данном примере ширина установлена в пикселях. Но, разумеется, с таким же успехом можно указать ее в процентах от ширины тела документа body, либо использовать размер в "em" относительно размера текста.

Такой способ работает во всех современных браузерах, но не в IE 6. К счастью, IE неправильно интерпретирует свойство text-align: center , выравнивая по центру все, а не только текст. Вы можете использовать это себе во благо, центрируя все, что находится в тэге body , включая и div wrapper , переназначая затем выравнивание на left для содержимого блока wrapper .

Body { text-align: center; } #wrapper { width: 720px; margin: 0 auto; text-align: left; }

Использование свойства text-align подобным образом является по сути хаком, но он совсем безобиден и не окажет неблагоприятного воздействия на ваш код. Сейчас наш блок wrapper отцентрирован и в IE 6, точно так же, как и в других браузерах, которые лучше дружат со спецификацией.


Центрирование дизайна с использованием позиционирования и отрицательных отступов

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

Начинаем, как и в предыдущем примере - с установки ширины wrapper . Затем устанавливаем свойство position для wrapper в значение relative и свойство left в значение 50% . Это позволяет нам разместить левый край блока wrapper в центре страницы.

#wrapper { width: 720px; position: relative; left: 50%; }

Нам, однако, нужно немного другое - мы хотим видеть в центре страницы центр блока wrapper . Добиться этого можно, применив отрицательный отступ с левой стороны блока wrapper равный половине ширины этого блока. Это сдвинет блок wrapper на половину его ширины влево, перемещая его в центр экрана:

Ваш выбор способа центрации зависит только от вашего вкуса. Однако, всегда полезно знать несколько способов и техник, так как нельзя угадать, что может вам пригодиться.

Шаблоны на основе обтекания

Существует несколько способов создания шаблонов средствами CSS, включая абсолютное позиционирование и отрицательные отступы. Я считаю наиболее простым в использовании метод, основанный на обтекании одних элементов другими. Как ясно из названия, в такого типа шаблонах вы просто устанавливаете ширину позиционируемых элементов, а затем задаете им обтекание слева или справа.

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

Двухколоночный шаблон с использованием обтекания

Для создания простого двухколоночного шаблона с использованием обтекания, начнем с базовой структуры (X)HTML. В нашем примере (X)HTML-каркас состоит из зон: branding, content, зоны для навигации и футера. Вся данная структура заключена в "обертку" - wrapper , который будет выровнен по горизонтали одним из описанных выше способов.

...
...

Главная навигация будет слева, а контент - с правой стороны. Однако в структуре страницы я поместил зону контента выше зоны навигации. Основная причина этого заключается в том, что содержание страницы наиболее важно и должно быть помещено в документе как можно выше, ближе к его началу.

Обычно, когда люди создают шаблоны и использованием обтекания, они придают свойству float значение left для обеих колонок, после чего создают "поле" между колонками, используя свойства margin или padding. При использовании такого подхода колонки плотно прижаты в доступном им пространстве - так, что "не продохнуть". Обычно это не вызывает проблем, но некоторые браузеры разрушают такой "плотный" дизайн, при этом колонки выстраиваются в столбик - одна под другой.

Это может происходить в IE, потому что в IE за основу берется "размер" контента, а не содержащего контент элемента. В браузерах, придерживающихся стандартов, если контент не помещается в блоке, он просто выходит за его пределы. В IE, однако, если контент не помещается в содержащем его элементе, то он "растягивает" элемент, увеличивая его в размере. Если подобная вещь происходит в плотном, зажатом дизайне, то у элементов больше не остается места, чтобы оставаться рядом друг с другом, и один из них как бы "проваливается", опускается ниже другого.

Чтобы избежать подобного развития событий, старайтесь не переполнять блок, содержащий ваш дизайн с обтеканием. Вместо использования горизонтальных внешних и внутренних отступов, (margin, padding) вы можете создать "виртуальные поля" придавая одному блоку float:left , а другому - float:right .

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

Код CSS для достижения данной цели самоочевиден. Мы просто устанавливаем желаемую ширину для каждой из колонок, после чего указываем для навигации float:left , а для контента - float:right .

#content { width: 520px; float: right; } #mainNav { width: 180px; float: left; }

Затем, для того, чтобы корректно позиционировать футер под навигацией и контентом, для него нужно отменить обтекание.

#footer { clear: both; }

Базовый вариант готов. Добавим еще пару штрихов. Внутренние отступы сверху и снизу для всего блока навигации и внутренние отступы слева и справа для списка пунктов в навигационном меню.

#mainNav { padding-top: 20px; padding-bottom: 20px; } #mainNav li { padding-left: 20px; padding-right: 20px; }

Проставим также отступ справа в зоне контента:

#content h1, h2, p { padding-right: 20px; }

Вот и все, теперь у нас готов простой двухколоночный макет на CSS.


Трехколоночный шаблон с использованием обтекания

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

Используя те же самые правила CSS, что и в случае двухколоночного шаблона, мы можем придать блоку основного контента float:left , а блоку дополнительного - float:right . Все это будет происходить внутри уже правильно спозиционированного основного блока content. Таким образом мы разделяем вторую колонку content на две, получая трехколоночный макет.

Как и раньше, CSS-код очень прост. Нужно просто указать желаемую ширину для каждого из блоков и задать каждому свое обтекание.

#mainContent { width: 320px; float: left; } #secondaryContent { width: 180px; float: right; }

Можно немного подчистить шаблон, удалив внутренний отступ из блока content , применив его непосредственно к контенту блока secondaryContent :

#secondaryContent h1, h2, p { padding-left: 20px; padding-right: 20px; }

Таким образом, мы получаем с вами вот такой симпатичный трехколоночный макет.


Andy Budd, Cameron Moll и Simon Collison: "CSS Mastery: Advanced Web Standards Solutions"
webreference.com
Перевод - Дмитрий Науменко

P.S. Хотите больше материалов по прикладной верстке? Посмотрите бесплатные курсы ниже. Это серия видео по резиновой верстке сайта и бесплатный курс по основам адаптивной верстки. Они помогут вам быстрее получить необходимые навыки:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!


В этом подразделе описаны популярные макеты сайтов, которые чаще всего используются в верстке, а также несколько приемов, придающих им более привлекательный вид. Макеты сделаны с помощью , поэтому от вас потребуется знание этих языков, чтобы в полной мере понимать принцип верстки. Если же вы их знаете, то значит вам известно, что в HTML и CSS одного и того же результата можно добиться совершенно разными путями. Здесь показаны только некоторые возможные способы.

Макеты делятся на три основных типа:

  1. Фиксированные - это макеты с фиксированной шириной (CSS ), оптимизированной под размер большинства современных мониторов пользователей или с «плавающей» шириной, которая имеет ограничения по максимальной (CSS ) и минимальной (CSS ) ширине страницы. Обычно содержимое в таких случаях располагается по центру, однако некоторые вебмастеры предпочитают прижимать страницы сайтов к одной из сторон окна браузера.
  2. Резиновые - макеты, которые имеют изменяемые размеры, подстраиваясь под окно браузера и занимая всю его доступную ширину. Однако им, как и фиксированным, также часто дополнительно задают максимальную и/или минимальную ширину. Одним из вариантов для достижения этого эффекта может быть обрамление блоков HTML-страницы в дополнительный оберточный блок (если он еще отсутствует в макете), на манер фиксированных макетов, к которому затем и применяются свойства регулировки ширины. Это необходимо, чтобы при уменьшении окна браузера колонки не накладывались друг на друга или не сползали вниз.
  3. С контентом впереди - это резиновые или фиксированные макеты, у которых колонка с основным содержимым страницы (контентом) идет выше в HTML-коде, чем большинство других элементов. Это делается для того, чтобы в браузерах с отключенным CSS пользователи могли видеть сначала то, за чем пришли, а уже потом навигацию и остальные второстепенные элементы HTML-страницы. Однако верстка подобных макетов несколько сложнее в реализации и требует от верстальщика определенного уровня навыков и знаний, необходимых для одинакового отображения сайта в разных браузерах.

Кроме колонок в макетах присутствует верхняя часть (хедер) и нижняя (футер), так как они уже давно являются привычной и неотъемлемой частью практически всех сайтов в интернете. По этой же причине здесь вы найдете примеры, позволяющие прижать футер к низу страницы и сделать колонки одинаковой высоты .

Обратите внимание, что практически во всех макетах вы можете поменять некоторые колонки местами, не изменяя HTML-код страниц. Поэтому, во-первых, на основе этих макетов вы можете создать какие-то свои варианты, а во-вторых, если получится так, что вы уже

В издательском деле многостолбцовый вывод контента известен уже много лет — узкие столбцы упрощают чтение текста. С переходом на широкоэкранные дисплеи веб-разработчики начали искать способы сохранения комфортной ширины столбцов в своих блогах и сайтах. За последнее десятилетие появился ряд довольно остроумных решений в дизайне многих веб­страниц по созданию многоколоночных макетов. Существуют различные способы создания макетов в HTML.

Макеты на основе таблиц

В недалеком прошлом таблицы были самым простым и самым популярным способом создания многоколоночных макетов в HTML. Вся веб-страница помещалась внутри большой таблицы (

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

Пример: Макет на основе таблицы

  • Попробуй сам »

Макет на основе таблицы

Макет на основе таблицы

Шапка сайта

Основной контент...

Макеты на основе DIV-элементов

В течение долгого времени веб-дизайнеры используют элементы

для группировки элементов на странице (например, оформирующих шапку сайта, статьи, футер или боковую панель). Таким образом разработчики, как правило, помещают эти основные разделы страницы внутри элементов
и используют атрибуты class или id , чтобы указать назначение конкретной части страницы.

Ниже приведена визуализация макета с использованием тегов

для группировки элементов на странице: