Качаємо та встановлюємо bootstrap signed. Інтерфейс користувача на базі Twitter Bootstrap для початківців

Діти, я вважаю, що Bootstrap — дуже класна річ. Чому так, я спробую пояснити у цій статті. Що ж, поїхали Я відразу вибачаюсь за те, що майже вся перша половина статті написана без картинок, там лише теорія, пояснення роботи сітки. Але це дуже важливо!Кому з вас треба, той візьме в себе, прочитає, і, я сподіваюся, зрозуміє. Друга половина статті вже сприймається простіше, там більше прикладів зі скріншотами.

Bootstrap – що це?

Отже, починаємо із важливого питання. Бутстрап - це css і js-фреймворк, по суті, набір файлів з готовим написаним кодом. Мета розробників практично будь-якого фреймворку - спростити розробку сайту собі та іншим, кому буде доступний інструмент. У випадку з Bootstrap він повністю безкоштовний, тому ви можете використовувати його будь-яким чином, редагувати вихідний коді як завгодно переробляти фреймворк під себе. Це відмінно.

Установка Bootstrap

Якщо вам потрібно просто підключити файли фреймворку до html-документу (наприклад, для практики), просто скачайте фреймворк з офіційного сайту getbootstrap.com, скопіюйте його файли в проект та підключіть ті, які вам потрібні. Зроблю короткий огляд цих файлів:

  1. bootstrap.css і bootstrap.min.css — стисла версії css-коду фреймворку. До робочого проекту рекомендується підключати стислий файл, таким чином ви трохи покращите швидкість завантаження. Але якщо ви плануєте дивитися код файлу, підключайте несжату версію.
  2. bootstrap.js та bootstrap.min.js — файл зі скриптами
  3. папка fonts і файли glyphicons — це іконковий шрифт Bootstrap. У ньому близько 200 ікон. Для більшості випадків вам їх вистачить, іноді потрібне підключення інших. Про іконковий шрифт ми ще поговоримо.

Це стандартний набір фреймворку. Насправді ви легко можете його кастомізувати та змінювати під себе. Наприклад, взагалі не використовувати скрипти або підключити лише сітку. Загалом про це ми також поговоримо.

Російська документація Bootstrap

Зайшовши на getbootstrapви напевно помітили, що тут все англійською. Нам же знадобилася б російська довідка з фреймворку. Знайти її легко. Для цього перейдіть з головної сторінки до розділу Getting Started. Перегортайте в самий низ, там буде посилання на переклади. Шукайте там російську і клацайте по ньому. Все, тепер ви на російськомовній версії сайту. Щоправда, тут переведено не все, але десь 70-80% точно, то все розберетеся.

Сітка Бутстрапа

Хоч як крути, а головним елементом Bootstrap є адаптивна сітка. Загалом без неї фреймворк втратив би практично всю свою цінність, тому саме завдяки сітці можна швидко створювати адаптивні шаблони. При цьому ви можете взагалі не знайомі з медіа-запитами, вони вам і не потрібні, тому що фреймворк бере на себе реалізацію адаптивності, потрібно лише задати блокам правильні класи.

Що то за класи? Вирушаємо до документації, вона нам дуже допоможе. Зайдіть у розділ CSS - Grid System. Загальні правила роботи із сіткою прості, зараз перерахую їх.

Як працювати із сіткою?

Уявіть її, як html-таблицю. Якщо ви коли-небудь писали html-код для таблиць, то знаєте, що весь вміст міститься в тег table , один ряд міститься в тег tr , а вже в нього поміщаються комірки - td .

Так ось, у сітці все аналогічно. Клас container служить загальним контейнером для сітки. Є два варіанти сітки бутстрапа - повністю гумова і має кінцеву максимальну ширину. Так ось, при завданні спільному блокукласу container сайт буде мати максимальну ширину 1170 пікселів. Більше він не розширюватиметься. Звичайно, вміст буде відцентрований.

Якщо ж задати клас container-fluid, то сітка буде повністю гумовою, тобто не буде обмежень за розміром. Наприклад, якщо людина відкриє сайт на моніторі шириною 1920 пікселів, він побачить його на всю ширину.

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

Добре, в блоці container слід розміщувати ряд сітки. У нього потрібно розмістити всі блоки, які стоять в одному рядку. Тобто якщо ми візьмемо типовий шаблон: шапка, основна частина, колонка справа і футер, то тут 3 колонки. У першій буде тільки шапка, у другій – контент та бічна колонка, а в останній – футер. Розмітка для такого сайту буде приблизно такою:

Шапка
Контент... та бічна колонка
Футер

Але поки що це неправильна розмітка, бо не вистачає... чого? Правильно, осередок! Що стосується Bootstrap їх ще називають колонками. Сітка бутстрапу складається з 12 колонок. Її можна впровадити у будь-який блок будь-якої ширини, хоч 1200 пікселів, хоч 100. Все це тому, що ширина колонок задана не в пікселях, а у відсотках.

Як же працює ця сама 12-ти колонкова система?

Отже, ми підійшли до найважливішого питання, пов'язаного з фреймворком. Повірте, якщо ви зрозумієте це, все інше це вже нісенітниця. Головне зрозуміти, як працює сітка, і шлях до швидкої адаптивної верстки буде вам відкритий.

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

До речі, самі колонки позначаються в Bootstrap класом col-, але це складовий клас, тому просто col-ніколи не пишуть. У Bootstrap є 4 спеціальні класи, які призначені для керування розмірами блоків на різній ширині, ось вони:

  1. ld – для великих екранів, шириною понад 1200 пікселів (десктопні комп'ютери);
  2. md – для середніх екранів, ширина від 992 до 1199 (комп'ютери, нетбуки);
  3. sm – для маленьких екранів, ширина від 768 до 991 пікселя (планшети);
  4. xs - екстра-маленькі екрани, ширина менше 768px.

Ось такі 4 класи, а для керування розмірами елементів використовуються числа від 1 до 12, тому що, як пам'ятаєте, колонок в сітці саме 12.

Шапка
Контент
Бічна колонка
Футер

Розібратися у ній досить просто. Насамперед створюємо шапку, її взагалі можна не поміщати в сітку, тому що вона в будь-якому випадку займатиме 100% ширини (зазвичай). Але ми таки помістимо. Що це за клас col-md-12? Як я вам уже казав, просто col- ніхто не пише, цим класом ми, по суті, повідомляємо браузеру:
Це осередок | колонка
На середніх пристроях (клас md) її ширина має становити 12 колонок із 12, тобто 100% від ширини ряду (row).
Ну а що із шириною на інших пристроях? На large (lg) екранах вона теж буде 100%, тому що значення для великих екранів успадковуються, а для менших немає. Все просто: якби ви написали col-xs-4, то ширина колонки була б 33% на всіх пристроях, а якщо col-lg-4, то тільки на великих. Ось така особливість запам'ятайте її.

А якщо на менші екрани значення ширини не зберігається, то що відбувається? Воно скидається. Ось як це відбувається:
col-sm-4 - на маленьких екранах блок займатиме 33% ширини, таким же він буде на екранах md і lg, але на xs, тобто найменших, ширина скинеться до 100%. Отже, запам'ятайте ще одне просте правило: Якщо для менших екранів нічого не задано, то на них блок відображатиметься на 100% ширини.

Контент
Бічна колонка

По суті ми вказуємо браузеру:
Нехай блок контенту буде на ширину 8 з 12 колонок і така ситуація буде на маленьких, середніх і великих екранах(Достатньо вказати для маленьких, для великих екранів, як ви пам'ятаєте, значення успадковується). А ось на найменших екранах блок займатиметься 100%. Це правильно, зазвичай на мобільних пристрояхсайти йдуть саме в 1 колонку.
Нехай бічна колонка буде шириною в одну третину ширини ряду на тих же маленьких, середніх і великих екранах. Ну а на найменших, як ви вже зрозуміли, її ширина також скидається до 100%. Отак усе просто.

Ну а з футером і розумітися нічого. Що ж, базові принципироботи сітки ми розібрали, але ще треба подивитися як працює…

Вкладена сітка Bootstrap

Справа в тому, що зараз з вами ми розбили шаблон лише на основні блоки, але ж у них усередині теж може бути поділ на колонки. Наприклад, у контенті можуть виводитися товари у кілька стовпчиків. Як бути? Дуже просто — ми створюємо всередині таку саму сітку. Вона буде вкладеною, але також містить у собі 12 колонок. Якщо все це узагальнити, то ось якого висновку приходимо:
Усередині будь-якого блоку може бути необмежену кількість сіток. Наприклад, у блоці з товарами сітка для поділу товарів, у самому блоці з одним товаром можна створити ще одну сітку, наприклад, для поділу ціни, інформації про наявність та дод. інформації.

Зараз ми з вами спробуємо зробити ще одну сітку всередині блоку з контентом, щоб розмістити у 3 колонки товари. Отже, беремо блок, у якому у нас контент:

Контент

І пишемо до нього:

Каталог товарів:

Назва товару

Опис товару

Як бачите, ми створили всередині контенту нову сітку — вклали всередину ряд, а в ряді вже буде 3 блоки з товарами. Просто скопіюйте блок col-sm-4 з карткою товару і вставте його ще 2 рази, вийде ось що (картинку товару можна взяти будь-яку, я взяв великий):

Пропустив ще один важливий момент, щоб зображення адаптувалися під блоки, в яких знаходяться, кожній з них потрібно задати клас img-responsive. Я якщо ви, як і я, вважаєте, що це робити незручно, то просто напишіть у своєму style.css так:

Img( max-width: 100%; height: auto; display: block; )

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

Ну що, цілком вийшло? Так, а без бутстрапу вам довелося б мучитися довше. Єдине, під час створення сітки всередині будь-якого блоку не потрібно створювати у ньому блок із класом container . Чому в цьому немає потреби? Та тому що той блок, в якому створюється сітка, служить контейнером.

Таким чином, ви можете створити скільки завгодно колонок у будь-якому блоці та зробити шаблон будь-якої складності. І все це набагато швидше, ніж без Bootstrap, тому що весь CSS вам доведеться писати з нуля.

Responsive-утиліти

Це ще одна чудова можливість бутстрапу. Полягає вона в тому, що ви можете приховувати або робити видимими будь-які блоки на потрібній вам ширині. Наприклад, повністю приховати бічну колонку на вузьких екранах, додати нові елементи на мобільних пристроях, додати колонку на широких екранах і т.д.

Варіантів застосування дуже багато, але я вам не сказав про найголовніше, як використати ці утиліти? Для цього лише додайте класи потрібному блоку. Якщо його потрібно приховати, достатньо вказати такий клас:

Що в даному випадку зробить клас hidden-xs? Він приховає футер на екстра-маленьких пристроях. На решті блок буде видно.

Якщо вам потрібно навпаки показати його тільки на найменших екранах, потрібно використовувати клас visible-xs-block . У такому разі блок буде прихований на всіх екранах, крім найвужчих. Отже, класи адаптивних утиліт прописуються так:

  1. Слово hidden або visible, залежно від того, що вам потрібно
  2. Скорочення xs, sm, md або lg, що вказує на яких екранах приховувати чи показувати блок.
  3. Для visible також потрібно додати одне з трьох значень: block – відображати елемент як блоковий, inline-block – як рядково-блоковий, inline – рядковий.

Ну і кілька прикладів, щоб було зрозуміло:

  1. hidden-xs hidden-lg — приховує елемент на найменших та більших екранах. Як бачите, можна вказувати кілька класів через пробіл.
  2. visible-xs-inline visible-md-block — на маленьких та large-екранах елемент не відображатиметься взагалі. На екстра-маленьких він буде малим, а на середніх – блоком.
  3. visible-lg-block — елемент буде видно тільки на найбільших екранах, на всіх інших буде приховано

Ось так усе працює. Саме так і не інакше. Сподіваюся, це ви зрозуміли. Давайте закріпимо практично. Ми маємо тестовий шаблон, хоч і дуже примітивний.

Завдання:зробити так, щоб на маленьких екранах зникала бічна колонка, а на найменших ще один товар. І щоб на xs-пристроях товари були вже у 2 колонки, а не у 3.

Спробуйте зробити це самостійно, редагуючи лише HTML-код. Що ж потрібно зробити? Спочатку розберемося з колонкою, щоб приховати її на sm-екранах, лише потрібно додати їй клас hidden-sm.

Відмінно, тепер третьому товару потрібно додати клас hidden-xs і він зникне на найменших екранах. Ну а класи двох товарів будуть такими:

Тобто на середніх пристроях блок займатиме 4 колонки з 12, що можна перевести в 33,33% ширини, а на екстра-маленьких - 50%. І оскільки один блок із товаром зникне на цій ширині, обидва блоки з товарами акуратно розташуються в 1 ряд, ось так:

Чудово! Зрозумівши це, ви вже зможете маніпулювати блоками на веб-сторінці практично так, як завгодно вам. Спробуйте самі собі придумати завдання та реалізувати їх.

Зруш мене повністю

Далі я покажу ще один дуже хороший прийом - можливість зрушувати блок праворуч або ліворуч. Допустимо у нас не 3 товари в ряду, а 1. І він займає далеко не всю ширину. А ваше завдання – вирівняти його по центру. Це легко зробити, якщо пам'ятати, що ви працюєте з 12-ти колонковою системою.

Залишимо один блок із товаром:

Досить зробити прості розрахунки, щоб зрозуміти, наскільки потрібно зрушити блок, щоб відцентрувати його. Його треба зрушити на 4 колонки вліво на середніх та великих екранах, і на 3 колонки на маленьких. Ось так це виглядає:

Клас col-md-offset-4 каже: на середніх і великих екранах зсув блок ліворуч на 33% ширини батьківського контейнера (1/3 відступ ліворуч, 1/3 ширина блоку, ⅓ відступ праворуч, виходить центрування).
Клас col-xs-offset-6: на екстра-маленьких і маленьких екранах зсув ліворуч на 25% (¼ відступ ліворуч, ½ ширина блоку, ¼ відступ справа).

Сподіваюся, суть ви зрозуміли, і в разі потреби застосуйте ці класи.

Компоненти Bootstrap та приклади їх використання

Я вітаю вас. Щойно ми пройшли саму важливу тему, Пов'язану з фреймворком. Саме сітка та робота з нею важливі. Робота з компонентами вже полягає в тому, що ви просто йдете в документацію, копіюєте там код потрібного компонента і, якщо потрібно, змінюєте під себе. Але я все ж таки наведу далі кілька прикладів того, як використовувати компоненти.

Швидкі флоати та скасування обтікання

Класи pull-left і pull-right дозволяють швидко зробити будь-який блок плаваючим, відправивши його ліворуч або праворуч. Не забувайте при цьому про скасування обтікання. Для цього ви можете використовувати клас clearfix.

Bootstrap: Горизонтальне адаптивне (мобільне) меню

Наступні компоненти ми додамо прямо в шаблон, тому якщо є бажання працювати з кодом, а не просто читати, виконуйте всі дії за мною.

Власне, на Bootstrap легко можна зробити не просто адаптивне меню, а так зване мобільне, яке повністю згортається на маленьких екранах і ховається під одну кнопку. Такий прийом можна спостерігати у багатьох адаптивні шаблонита реалізувати його насправді дуже легко. Код прикладу меню є в документації, я візьму його звідти і трохи перероблю.

Отже, насамперед я видалю блок із шапкою, тому що наше меню, по суті, і буде шапкою у випадку з моїм шаблоном. Код меню потрібно розмістити перед вмістом сайту, навіть перед блоком container . Чому? Так ви зараз самі побачите, що сітка вже вбудована в навігаційну панель. Отже, ось код:

Те, що коду багато, цьому не лякайтеся. Ось так тепер виглядає сайт:

Але якщо меню у вас буде займати не всю ширину екрана, є сенс відцентрувати його. Для цього слід потім створити додатковий блок-обертку для меню, який розмістити після блоку з класом container-fluid . Не забудьте закрити блок. Я дав йому клас navbar-wrap. Ось такі стилі для нього:

Тобто можна просто обмежити ширину та відцентрувати. Або спочатку замініть container-fluid на container .

Як бачите, в меню ми додали логотип, два простих пункти, пункт, що випадає, форму пошуку. Тобто вийшло багато елементів. Ви можете легко кастомізувати меню під себе, додавши свої класи. Але зараз моя мета – просто показати вам цей компонент.

Ось так меню виглядатиме на пристроях із шириною екрана менше 768 пікселів:

Як бачите, меню згорнулося. Воно відкривається при натисканні кнопки в правому верхньому кутку. На екрані залишився лише логотип.

Випадаюче меню

Заодно з прикладу вище ви зможете зрозуміти, як робиться в Bootstrap пункт меню, що випадає, висмикнемо цей код для більш детального розгляду:

Отже, контейнером для пункту, що випадає, служить звичайний пункт списку з класом dropdown . Усередині нього лежить основне посилання, клік по якому розкриває меню, що випадає. Дуже важливо прописати їй data-атрибут, який ви бачите у коді, без нього нічого не буде працювати. Також ви повинні переконатися, що файл bootstrap.js підключено до веб-сторінок.

Спан з класом caret - це не що інше, як стрілочка, завдяки якій можна зрозуміти, що пункт, що випадає, ну а нижче формується саме меню за допомогою стандартного маркованого списку. Ось так, все досить просто, ви можете застосовувати цей код для реалізації пунктів, що випадають.

Додаємо за допомогою Bootstrap хлібні крихти (навігаційний ланцюжок)

У багатьох магазинах можна зустріти так званий блок хлібних крихт, у якому міститься повний шляхдо поточної сторінки. За допомогою фреймворку таке теж легко зробити, дивіться код:

По суті, досить нумерованим списком вказати клас breadcrumb , а до нього вписати звичайні пункти списку. До речі, вирівняю по центру заголовки другого рівня шаблону (це потрібно прописати в css):

H2( text-align: center; )

Якщо ви хочете якось змінити зовнішній виглядхлібних крихт, достатньо звернеться в css до селектора. Наприклад, так можна забрати фоновий колір:

Breadcrumb( background: transparent; )

Ось так зараз виглядає сайт:

Bootstrap таблиці

За замовчуванням, таблиця буде розтягнута на все вікно, тому обертайте її в блок з обмеженою шириною, щоб обмежити розміри. За умовчанням вона виглядає жахливо, але якщо додати тегу table клас table, все буде вже набагато приємніше:

Зауважте, що у такому варіанті осередки мають чіткі межі лише знизу, якщо ви хочете, щоб кордону було з усіх чотирьох сторін, потрібно додати ще один клас:

У принципі, це все можливості таблиць. Про те, як зробити адаптивну таблицю, я вже писав окрему статтю, так що не повторюватимуся. Єдине, ви можете ще додавати такі класи, як info, success, warning та інші до рядів та осередків таблиці, щоб фарбувати їх у потрібний колір.

Звичайно, ви можете без проблем прописати власні класи в style.css і використовувати їх.

Підсумок

Сподіваюся, стаття була корисною і ви змогли зрозуміти найважливіше. Будь-які питання можете ставити за допомогою коментарів.

Перевага використання CSS фреймворків полягає в тому, що верстальнику не потрібно думати про багато нюансів верстки, які за нього вже продумали творці фреймворків. До таких нюансів відносяться кросбраузерність, підтримка різних дозволів екранів та багато іншого. Верстальник лише вказує, що, як і коли треба показати, решту фреймворку робить сам. Цей підхід може дуже прискорити верстку сайту. До переваг Bootstrap належить його популярність. Це означає, що іншому верстальнику буде простіше підтримувати ваш код.

Недоліком використання фреймворків є той факт, що сторінці доведеться повністю «нести» за собою зайві стилі фреймворку, навіть якщо вона використовує лише їхню малу частину. Фреймворк є чудовим інструментом для прототипування та створення сторінок, для яких дизайн вторинний, наприклад, сторінки адміністрування. Якщо ж у вас є дуже специфічний дизайн, то зверстати його за допомогою фреймворку може виявитися складнішим, ніж нативними засобами. Тим не менш, і це можливо.

Про використання Bootstrap

В даний час існує кілька способів роботи зі стилями Bootstrap.
Без використання LESS
Для новачків сам Bootstrap рекомендує наступний підхід: потрібно завантажити з сайту скомпільований Bootstrap і покласти його у свій проект, нічого не змінюючи. Потім потрібно створити свій порожній файл CSS і підключити його після bootstrap.css.


Після цього, для того, щоб змінити стилі Bootstrap вам потрібно перебити їх у своєму styles.css приблизно в такому вигляді:

A ( color: #beceda; )
Очевидним мінусом цього підходу є те, що вам доведеться вручну шукати потрібні стилі, які потрібно перебити не завжди це буде тривіально, т.к. деякі параметри Bootstrap застосовуються до багатьох селекторів у зміненому вигляді, наприклад, через формули. Невелику допомогу тут може надати інструмент Customize, він допоможе правильно скомпілювати ваші зміни, але тільки один раз. Якщо в майбутньому ви захочете змінити якийсь параметр, доведеться заново вбивати змінені значення для всіх полів, щоб скомпілювати свої стилі.

З використанням LESS
Цей спосіб передбачає, що всі змінні Bootstrap зберігаються в файлах.less. Розробник працює з цими змінними і в разі необхідності вручну або автоматично компілює їх у CSS файли, а сам HTML підключає тільки скомпіловані CSS файли. Саме цей варіант і розглядатиметься у статті, як найгнучкіший.

Існує велика кількість способів скомпілювати LESS файли і Bootstrap залишає це на розсуд розробника. Сам Bootstrap використовує для компіляції Grunt, ви можете віддати перевагу плагіну для продуктів JetBrains, а ми, оскільки стаття орієнтована на новачків, подивимося у бік більш простих рішень. Такими рішеннями є WinLess для Windows, SimpLESS для Mac або Koala для Linux. Всі ці програми роблять приблизно те саме: отримують на вхід папку з LESS файлами і слухають зміни в них. Як тільки ви вносите зміни до будь-якого файлу – тут же він компілюється у зазначений CSS файл. Таким чином, вам немає необхідності запускати компіляцію руками після кожної зміни. Ви змінюєте LESS файл, зберігаєте його і відразу бачите зміни на сайті в скомпільованому, стислому вигляді.

Створення проекту

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

Попередній огляд

Після створення структури файлів відкриваємо psd файлу Photoshop. Важливо уважно оглянути шаблон та оцінити його. Нам потрібно зрозуміти такі речі:
  • Як нарізатимуться зображення?
  • Які будуть використовувати компоненти?
  • Якими будуть основні стилі?
  • Який макет сторінки в нас вийде?
Тільки після того, як ви подумки відповісте на ці питання, можна переходити до верстки. Давайте розглянемо ці питання поряд.

Загальні зображення

На даному етапіпотрібно нарізати та зберегти лише загальні зображення, які будуть на всіх сторінках сайту та не відносяться до контенту. У нашому випадку це буде світло-сірий фон сторінки, фон заголовка, зображення картки, два логотипи та кнопки соціальних мереж.

Зберігаємо зображення карти:

Збережемо логотипи наступним чином:

Images/logo.png
images/footer-logo.png

Фонові зображення, що повторюються, необхідно вирізати мінімальним шматочком достатнім для утворення повного зображення повторенням по вертикалі та горизонталі.

/images/bg.png
/images/h1-bg.png

Іконки соціальних мереж з однаковими розмірами зручно зберегти в один файл і використовувати як спрайти для швидшого завантаження. Докладніше для склеювання зображень описано в першій частині. У результаті вийде два файли:

/images/social.png
/images/social-small.png

Компоненти

Основна відмінність верстки за допомогою Bootstrap від верстки нативними засобами у тому, що Bootstrap вводить таке поняття, як компоненти. Компоненти являють собою часто використовувані готові HTML блоки з визначеними стилями. Іноді компоненти використовують JavaScript. Верстальник може використовувати готовий компонент, так і визначити свій зовнішній вигляд для нього. Для цього часто потрібно лише змінити значення змінних у Bootstrap. Якщо потрібні більш гнучкі зміни, верстальник завжди може змінити HTML і CSS на власний розсуд.

Якщо оглянути наш шаблон, то можна побачити, що нам знадобляться наступні компоненти:

  1. Для верстки колонками – сіткова система (row, col)
  2. Для пошуку – інлайнова форма (form-inline), згруповані контролі (input-group), кнопка (btn)
  3. Для навігації - навігаційна панель (navbar) та сама навігація (nav)
  4. Для відображення підменю – групований список (list-group)
  5. Для блоку картки візуальна панель(panel)
  6. Для відображення великого центрального блоку – jumbotron
  7. Для відображення рамок фотографій – мініатюри (thumbnail)
Докладніше на кожному компоненті ми зупинимося, коли він зустрінеться в верстці.

Основні стилі

У Bootstrap всі стандартні стилі вже задані, нам потрібно тільки їх перебити, якщо вони відрізняються від нашого дизайну. Зробимо це у файлі src/less/variables.css.

Насамперед потрібно додати змінні, яких немає в налаштуваннях Bootstrap для того, щоб їх можна було використовувати в подальшому. У нас це лише специфічний шрифт дизайну.

@brand-font: "Oswald", sans-serif;
Якщо ви хочете використовувати шаблон для російських сайтів, то шрифт Oswald можна спробувати замінити на найближчий Cuprum, який підтримує кирилицю.

А тепер замінимо налаштування Bootstrap на свої:

Після того, як ми закінчили зі змінними, почнемо прописувати стилі нашого дизайну у файлі styles.less. Спочатку підключимо сам Bootstrap та наші змінні:

@import "bootstrap/bootstrap.less"; @import "variables.less";
Не всі стилі, задані Bootstrap за замовчуванням, можна змінити змінними, давайте зробимо це вручну:

P ( margin: 20px 0; ) .form-control ( box-shadow: none; ) .btn ( font-family: @brand-font; )
Тут ми прибрали тінь у елементів форми, а тексти в кнопках вказали специфічний шрифт сторінки.

Потім опишемо фон сторінки та верхню смужку:

Body ( border-top: 5px solid #7e7e7e; background-image: url(../images/bg.png); )
Далі в тексті не буде вказуватися в якому файлі пишуться стилі. Просто запам'ятайте, що всі змінні ми зберігаємо у файлі variables.less, а CSS стилібудемо зберігати у styles.less.

Каркас HTML

Верстку сайту починаємо традиційно з каркасу HTML. Вставляємо у файл index.html код найпростішого шаблону зі сторінки Getting started, попередньо прибравши все зайве:

Whitesquare


У цьому блоці створюється структура HTML5 документа. У title вказуємо назву нашої сторінки – Whitesquare. Метатегом viewport вказуємо, що ширина сторінки на мобільних пристроях дорівнюватиме ширині екрана і початковий масштаб буде 100%. Потім підключається файл стилів. І для версій Internet Explorerменше дев'ятої підключаємо скрипти, що дозволяють правильно відображати нашу верстку.

Макет

В даному випадку, ми бачимо, що сайт складається з двох частин: основного контейнера з вмістом, який центрується на екрані і футера, що тягнеться. Основний контейнер складається з двох колонок: основного контенту та сайдбару. Над ними знаходиться шапка (header), навігація (nav) та назва сторінки (.heading).

Давайте додамо в body наступний код:


Тут нам зустрічається перший компонент Bootstrap - колонки. Батьківському елементу колонок визначається клас «row», а класи колонок починаються з префікса «col-», потім йде розмір екрану (xs, sm, md, lg), а закінчуються відносною шириною колонки.

Колонці можна задавати одночасно різні класи зі значеннями для екранів, наприклад, class=«col-xs-12 col-md-8». Ці класи просто задають ширину колонці у відсотках певного розміру екрана. Якщо колонці не заданий клас певного екрана, то застосовується клас для мінімально певного екрана, а якщо і він не вказаний - то жодна ширина не застосовується і блок займе максимально можливу ширину.

У нас класи «col-md-7» та «col-md-17» вказують, що блоки являють собою колонки шириною 7 і 17 щодо батьківського контейнера. За замовчуванням сума ширин колонок Bootstrap дорівнює 12, однак ми збільшили це число вдвічі для досягнення потрібної нам гнучкості.

Body ( … .wrapper ( padding: 0 0 50px 0; ) header ( padding: 20px 0; ) )
Цю конструкцію ми помістили усередину body. Синтаксис LESS дозволяє вкладати правила один в одного, які потім скомпілюються в такі конструкції:

Body .wrapper (…) body header (…)
Такий підхід дозволяє бачити структуру HTML прямо всередині CSS і дає якусь "область видимості" правилам.

Логотип

Вставляємо логотип у тег header:

(!LANG:Додаткових стилів не потрібно.

Пошук

Для того, щоб створити пошук, нам знадобляться наступні компоненти Bootstrap: інлайнова форма, згруповані контролі та кнопка.
У тезі header створюємо інлайнову форму, вирівняну праворуч. Поля такої форми обов'язково повинні мати клас «form-control» та label.

У форму поміщаємо компонент «згруповані контроли». Угруповання контролів дозволяє прибрати відступ між введенням тексту і кнопкою і злити їх в єдиний елемент.
Він є div з класом «input-group» і полями, а кнопка такого компонента поміщається в блок з класом «input-group-btn».

Оскільки нам не потрібно показувати label для поля пошуку – приховаємо його класом sr-only. Це потрібно для спеціальних пристроїв для читання з екрана.

Кнопці додається клас btn-primary, що означає, що це первинна кнопка даної форми.


Все, що нам залишилося, - це задати в стилях ширину форми пошуку.

Body ( … .wrapper ( … header ( … .form-search ( width: 200px; ) ) ) )

Меню

Для відображення меню візьмемо компонент "навігаційна панель" і помістимо в нього компонент "навігація", яка представляє собою список із посиланнями. Для навігації додається клас "navbar-nav", який застосовує спеціальні стилі навігації усередині навігаційної панелі.


Для того, щоб привести це меню до нашого дизайну, задамо наступні значення змінним:

/*висота навігаційного меню*/ @navbar-height: 37px; /*задаємо більше горизонтальний відступ*/ @nav-link-padding: 10px 30px; /*фон для пунктів меню*/ @navbar-default-bg: @panel-bg; /*колір тексту в пунктах меню*/ @navbar-default-link-color: #b2b2b2; /*і при наведенні мишки – такий же*/ @navbar-default-link-hover-color: @navbar-default-link-color; /*фон активного пункту меню – наш специфічний блакитний колір*/ @navbar-default-link-active-bg: @brand-primary; /*колір тексту активного пункту меню*/ @navbar-default-link-active-color: #fff;
Крім параметрів, що налаштовуються, опишемо додаткові в стилях – це текст у верхньому регістрі і наш специфічний шрифт:

Body ( … .wrapper ( … .navbar a ( text-transform: uppercase; font: 14px @brand-font; ) ) )

заголовок сторінки

Заголовок сторінки міститься в div із класом «heading».

About us


І має такі стилі:

Body ( … .wrapper ( … .heading ( height: 40px; background: transparent url(../images/h1-bg.png); margin: 30px 0; padding-left: 20px; h1 ( display: inline-block); color: #7e7e7e; font: normal 40px/40px "Oswald", sans-serif; background: url(../images/bg.png); margin: 0; padding: 0 10px; )
Тут ми малюємо сіру смужку фоном на div'e, і в неї вкладаємо інлайновий h1 з потрібним шрифтом та фоном кольору сторінки, щоб склалося враження прозорого фонудля h1.

Підміню

При створенні підменю, ми не будемо використовувати компонент "навігація", так як за стилями він нам не дуже підходить, набагато більше нам підійде компонент "групований список". Кожен елемент такого компонента має клас "list-group-item".

Підменю потрібно розмістити у тезі aside. Список посилань створюємо аналогічно головному меню.


У налаштуваннях компонента вкажемо, що всі груповані списки потрібно показувати з фоном та рамкою компонента панель:

@list-group-bg: @panel-bg; @list-group-border: @panel-inner-border;
І застосовуємо до підменю такі стилі:

Body ( … .wrapper ( … .submenu ( margin-bottom: 30px; li ( display: list-item; font: 300 14px @brand-font; list-style-position: inside; list-style-type: square; padding) : 10px; text-transform: uppercase; &.active ( color: @brand-primary; ) a ( color: @text-color; text-decoration: none; &:hover ( color: @text-color; ) ) ) ) ) )
Спочатку повертаємо елементам списку стандартні стилі, оскільки Bootstrap перебив їх на свої. Додаємо відступ знизу. Для підменю застосовується тонший шрифт та квадратні маркери. А для посилань задаємо кольори, верхній регістр та прибираємо підкреслення. Амперсанд у коді "&.active" за синтаксисом LESS під час компіляції заміниться на батьківський селектор: ".submenu li.active".

Контент сайдбару

У контенті сайдбара крім підменю міститься також зображення з розташуванням офісів.

Для його відображення нам підійде компонент панель, а точніше його варіація основна панель (panel-primary) для розмальовки заголовка. Цей компонент містить блок заголовка (panel-heading) та блок вмісту панелі (panel-body). Зображення карти додає клас "img-responsive", який дозволить картинці зменшуватися при маленькій ширині екрану.


У змінних Bootstrap ми вже задали колір для фону панелі (panel-bg), а тепер вкажемо, що «primary» панель матиме сіру рамку дефолтної панелі, а не блакитну, як задано за замовчуванням:

@panel-primary-border: @panel-inner-border;
Тепер у стилях сайту потрібно змінити стандартні налаштування панелей, які не змінюються через змінні:

Panel ( box-shadow: none; .panel-heading ( font: 14px @brand-font; text-transform: uppercase; padding: 10px; ) .panel-body ( padding: 10px; ) )
Тут ми прибрали тінь біля панелей, поставили свої відступи та задали свій шрифт заголовка.

Цитата

Верстку контенту почнемо з додавання цитати.

Цей елемент сторінки найбільше схожий на компонент Jumbotron. Додамо його до колонки контенту:

“Quisque in enim velit, at dignissim est. nulla ul corper, dolor ac pellentesque placerat, just tellus gravida erat, vel porttitor libero erat.”

John Doe, Lorem Ipsum

Через змінні для компонента jumbotron задамо білий коліртексту та брендовий блакитний фон:

@jumbotron-bg: @brand-primary; @jumbotron-color: #fff;
І опишемо наші стилі:

Body ( … .wrapper ( … .jumbotron ( border-radius: 0; padding: 0; margin: 0; blockquote ( border-left: none; p ( font: 300 italic 33px @brand-font; text-transform: uppercase)); margin-bottom: 0; ) small ( text-align: right; color: #1D8EA6; font: 300 20px @brand-font; &:before ( content: ""; ) ) ) ) ) )
У них ми прибираємо заокруглення кутів, відступи компонента та прикраси цитати, задані Bootstrap за замовчуванням. Також додамо стилі наших шрифтів.

Контент


Lorem ipsum dolor sit amet…

Donec vel nisl nibh…

Donec vel nisl nibh…


Наступним кроком потрібно додати два зображення, які знаходяться в кінці тексту. Робиться це за допомогою двох колонок:


Клас "thumbnail" перетворює зображення на компонент "мініатюра". Він зробить за нас всю роботу зі стилізації зображень. Єдине, що нам залишилося – це встановити свій відступ і колір рамки у змінних для цього компонента:

@thumbnail-padding: 1px; @thumbnail-border: #c9c9c9;

Блок "Our team"


При верстці цього блоку додамо спочатку заголовок:

Our team


зі стилем:

Body ( … .wrapper ( … h2 ( background: none repeat scroll 0 0 #29C5E6; color: #fff; font: 300 30px @brand-font; padding: 0 10px; text-transform: uppercase; ) ) )
А потім додамо блок із класом "team", який складається з двох рядків, що містять картки співробітників. Кожна картка – це стовпчик. Картка має ширину рівну чотирьом колонкам нашої сітки. Усі картки крім першої у рядку мають відступ зліва, який створюється класом «col-md-offset-1». Вміст картки складається із зображення та опису (.caption)

John Doe

Saundra Pittsley

team leader

Ericka Nobriga

art director

Cody Rousselle

senior ui designer


Після створення розмітки задамо цим елементам наступні стилі:

Body ( … .wrapper ( … .team ( .row ( margin-top: 20px; .col ( white-space: nowrap; .thumbnail ( margin-bottom: 5px; ) ) ) .col-md-offset-1 ( margin- left: 3.7%; ) .caption ( h3 ( font: 300 16px @brand-font; margin: 0; ) p ( font: 300 14px @brand-font; color: @brand-primary; margin: 0; ) ) ) ) ) )
Крім відступів та стилів шрифтів, які тут задаються, ми змінили клас «col-md-offset-1». Йому довелося поставити відступ 3.7%, т.к. стандартний відступ був надто великий.

Футер

Футер складається з чотирьох великих блоків: стрічки Твіттера, карти сайту, соціальних посилань та логотипу з копірайтом.

Для початку створимо контейнер футера з цими блоками:


І застосовуємо до нього оформлення:

Footer ( background: #7e7e7e; color: #dbdbdb; font-size: 11px; .container ( height: 110px; padding: 10px 0; ) )
Тег footer задає сіру область по всій ширині екрана, а контейнер усередині нього відображає область по центру на великих екранах і задає висоту та відступ футера. Для вирівнювання блоків усередині футера ми використовуємо стовпчики.

Стрічка Твіттера

Верстаємо вміст стрічки Твіттера:


Стилі:

Body ( … footer ( … .container ( … h3 ( border-bottom: 1px solid #919191; color: #ffffff; font-size: 14px; line-height: 21px; font-family: @brand-font; margin: 0) 0 10px; text-transform: uppercase; ) p ( margin: 5px 0; ).
Для всіх заголовків футера задаємо шрифти та відступи, а також робимо підкреслення через нижню рамку. Для параграфів вказуємо відступ. Посилання, що відображає дату, задає колір і підкреслення.

Карта сайту

Карта сайту є двома рівними колонками з посиланнями:


Посиланням ставимо колір, шрифт та відступ між ними.

Body ( … footer ( … .container ( … a ( color: #dbdbdb; ) .sitemap a ( display: block; font-size: 12px; margin-bottom: 5px; ) ) ) )

Соціальні посилання

Вставляємо набір посилань у блок із класом «social».


І стилізуємо їх:

Body ( … footer ( … .container ( … .social ( .social-icon ( width: 30px; height: 30px; background: url(../images/social.png)) no-repeat; display: inline-block; margin -right: 10px; ) .social-icon-small ( width: 16px; height: 16px; background: url(../images/social-small.png) no-repeat; 0 0; ) .twitter ( background-position: 0 0; ) .facebook ( background-position: -30px 0; ) .google-plus ( background-position: -60px 0; ) . ; ) .youtube ( background-position: -16px 0; ) .flickr ( background-position: -32px 0; ) .instagram ( background-position: -48px 0; ) .rss ( background-position: -64px 0; ) ) ) ) )
Тут ми використали техніку спрайтів – коли один файл із зображенням застосовується для різних картинок. Усі посилання розділилися великі іконки (.social-icon) і маленькі (.social-icon-small). Ми задали цим класам відображення у вигляді інлайнового блоку з фіксованими розмірами та однаковим фоном. А потім за допомогою CSS зрушили це тло так, щоб на кожному посиланні відобразилося відповідне зображення.

Копірайт

Блок із копірайтом та логотипом – це картинка з посиланням та параграф із текстом під нею.


Стилі роблять аналогічно попереднім блокам з тією різницею, що блок прибивається до правого краю і вирівнювання всередині нього так само по правому краю:

Body ( … .footer ( … .container ( … .footer-logo ( float: right; margin-top: 20px; font-size: 10px; text-align: right; a ( text-decoration: underline; ) ) ) ) )

На цьому верстка закінчена. Готовий проект можна завантажити

24 лютого 2012 в 21:25

Інтерфейс користувача на базі Twitter Bootstrap для початківців

  • Веб дизайн

Анотація

У статті я спробую розповісти про те, як на базі Twitter Bootstrap можна дуже легко реалізувати приємний інтерфейс невеликого (односторінкового) web-додатки, володіючи лише базовими знаннями html. Відразу попереджаю, спеціалістам буде не цікаво, йтиметься про базовий стандартний функціонал.

Вступна

У вільний час як хобі розробляю односторінковий агрегатор цікавих заголовків стрічок новин. У якийсь момент базовий функціонал прототипу виявився готовим, не вистачало позначки лише напроти завдання «Дизайн».

Постановка задачі

Отримати красивий інтерфейс користувача, не володіючи магією дизайнера (є тільки базові знання paint) і програміста (є тільки базові знання html і css).
Сторінка складається з наступних елементів
  • Назва
  • Форма відправки посилання на новину
  • Форма відправки унікального коду читача на e-mail
  • Форма введення унікального коду читача
  • Список новин з групуванням за датою (дата, час, заголовок-посилання, кількість переходів, новина може бути прочитаною або новою)
  • Посилання на RSS
  • Посилання на chrome extension
  • ідентифікатор релізу
  • e-mail зворотного зв'язку

Процес

Після кількох днів розслабленого пошуку готового шаблону (css template) дійшов висновку, що це шлях справжнього джедая, т.к. все що проходило естетичний фільтр, застрягло у технічному фільтрі (див. постановка завдання, складний код я просто не міг адаптувати під свої потрібні). І ось, майже випадково, я потрапив до раю. Не буду докладно описувати Bootstrap, деталі ви можете переглянути, перейшовши за посиланням, перерахую основні елементи, для яких є готові стилі (іноді по кілька):
  1. Стандартні елементи форматування HTML
  2. Списки
  3. Фрагменти коду
  4. Таблиці
  5. Форми
  6. Кнопки
  7. Елементи навігації
  8. Розбивка на сторінки
  9. Мініатюри
  10. Інформаційні повідомлення
  11. Прогрес-бари
На мою думку, це дуже круто. Все, що потрібно для оформлення прототипу. Далі я розповім, як використав елементи 1,4,5 та 7 зі списку.

Отже, крок 1. Підключаємо Bootstrap

Завантажуємо та розпаковуємо архів з Bootstrap у кореневу папку нашого сайту, підключаємо css:
... ...
Друга стока потрібна для автоматичної адаптації інтерфейсу під підтримувані Bootstrap пристрої

Крок 2. Оформляємо "м'ясо".

Під "м'ясом" я розумію список новин. Самим простим способомце можна зробити таблицею з вимкненими рамками. Перша колонка – дата (тільки один раз для групи), друга колонка – час, третя – заголовок та кількість переходів. Все це, згідно з правилами Bootstrap, потрібно упаковати в контейнер:
(Дата) (Час) (Заголовок) ((Кількість переходів))



Для прочитаних новин вказуємо особливий клас:
(Заголовок)

Крок 3. Форма надсилання посилання на новину.

Тут знову все просто, Bootstrap надає кілька готових стилівформ: звичайна форма, форма одним рядком, форма пошуку… Нам потрібна друга, допилюємо її в контейнер перед таблицею:
...

class=«span10»- Bootstrap передбачає побудову інтерфейсу з урахуванням сітки з 12 колонок, наші елементи можна вирівнювати нею. Науковим методом спроб та помилок я прийшов до ширини поля для введення рівного 10.

Крок 4,5,6. Шапка.

Мої уявлення про те, як має виглядати зручний сайт припускають мінімалістичний стиль: все непотрібне заховано, все, що не вдалося заховати - бліде. Форми ховаємо в меню, посилання на rss і chrome extension робимо блідими. Все це пакуємо в заголовок, який приклеюємо до верхньої частини сайту (class=«navbar navbar-fixed-top»):
...


Самі форми:
...

Важливий момент. Щоб це запрацювало, потрібно підключити пару скриптів:
...

Крок 7. Футер.

Дописуємо основний контейнер:
...

реліз 2012/02/19 23:49 *****

Результат

Епілог

Twitter Bootstrap дозволив без особливих зусиль і знань, не написавши жодного рядка css і не сильно ламаючи html-код, отримати дуже симпатичний інтерфейс прототипу, який не соромно показати людям. Якщо цікаво, в наступній статті я розповім, як без глибоких знань PHP+MySQL (маючи лише базові навички програмування) реалізувати функціонал, що дозволяє показати вашу ідею на мільйон доларів не просто на папері, а у вигляді прототипу, що працює.
Дякую за увагу!
UPD: Не хочеться топік у «Я піарюсь» прибирати, прибрав усі зайві посилання

Доброго дня! У цій статті я розповім як встановити та підключити фреймворк Bootstrap. Про те, що таке Bootstrap можна порахувати.

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

Про стандартну установку я вже досить багато сказав у минулих статтях. Тут усе просто. Заходимо на офіційний сайт getbootstrap.com, клацаємо по пункту Getting Started і вибираємо перший варіант. Таким чином, ми завантажуємо повну версію бутстрапу з усіма js та css-компонентами.

Bootstrap CDN– це можливість підключити фреймворк із CDN-сховища, не завантажуючи його файли себе на комп'ютер. Звісно, ​​у разі ні про яку кастомізації може бути мови.

Кастомізація фреймворку

Але справа в тому, що бутстарп за замовчуванням містить багато компонентів, і деякі з них просто можуть не знадобитися вам при розробці конкретного сайту. Наприклад, ви верстаєте інтернет-магазин. Можливо, вам не потрібні модальні вікна і підказки, а також не потрібні багато компонентів css. У такому разі розумно не включатиме ці компоненти у фреймворк.

Або ви верстаєте простий блог. Допустимо, там вам взагалі практично нічого не потрібно, так що ви можете залишити тільки сітку та пару найважливіших компонентів.

Вибирати тільки те, що потрібно – це професійний підхід до створення сайтів та використання Bootstrap. За замовчуванням стиснута версія css-стилів фреймворку в самій останньої версіїважить 143 кілобайти. А скрипти – понад 60 кілобайтів. Так, якщо стиснути код, то можна досягти зменшення ваги на 20-40%, але все одно файли будуть не найлегшими.

Якщо ж ви, наприклад, відключаєте всі компоненти і залишаєте лише сітку (так дуже часто роблять), то вага css становитиме всього 15-20 кілобайт, а в стислому вигляді ще на пару кілобайт менше. Так ви досягнете максимальної швидкості та оптимізації вашого проекту.

Добре, це була лише теорія. Для кастомізації фреймворку відвідайте той самий офіційний сайт і перейдіть в пункт Customize.

Вибираємо потрібні компоненти

Насамперед тут можна налаштувати, які компоненти ви хочете включити у свою версію Bootstrap. Почнемо з CSS:

Print Media Styles– медіа-запити для друку. Якщо ви не плануєте друкувати сторінки сайту, ви можете вимкнути.

Друкарня, код, таблиці, форми та кнопки – це все те, що ви за великого бажання можете стилізувати в css самостійно. Звичайно, на це знадобиться час, але якщо за дизайном ваші елементи дуже відрізняються від того, що за промовчанням пропонує фреймворк, можна відключити всі ці css-стилі та написати їх самому.

Grid System- Власне, це сітка. Не бачу сенсу її взагалі колись відключати, бо це основна міць фреймворку. Саме завдяки сітці ви зможете легко адаптувати шаблони під будь-які пристрої, а сьогодні у вік мобільного трафіку це надзвичайно важливо. У жодному разі не відключаємо.

Responsive utilities- Адаптивні утиліти, також рекомендую ніколи не відключати їх. Про адаптивні утиліти ми з вами поговоримо в наступній статті, де докладно розглянемо систему сітки. Це такі класи, які дозволяють при певній ширині екрана приховувати елемент або робити його видимим. Дуже зручно та корисно.

Це, наприклад, такі речі як групи списків, панелі кнопок, значки, панелі, оповіщення, пагінація, хлібні крихтиі т.д. Можна також вимкнути іконний шрифт. Це варто робити в тому випадку, коли вам взагалі не потрібні іконки на сайті, або ви підключаєте інший набір. Власне, ви повинні посидіти та подумати, що вам потрібно з усіх представлених компонентів, а що ні. Для кожного окремого сайту буде свій набір, бо скрізь різний дизайн та функціонал.

Javascript-компоненти

Це меню, спливаючі підказки, модальні вікна, слайдер. Якщо щось із цього вам не потрібне, відключаємо. У деяких випадках дійсно можуть стати в нагоді всі компоненти, коли у вас на сайті і меню випадає, і слайдер на головній сторінці, та модальні вікна. У деяких випадках може знадобитися від сили 1-2 компонента, тоді ні до чого подовжувати код, відключайте непотрібні компоненти.

Jquery плагіни

Тут ви можете відключити плагіни бібліотеки jquery, які допомагають JavaScript-компонентам правильно працювати. Відповідно, якщо ви не використовуєте на своєму сайті слайдер, то вам не потрібен плагін для створення каруселів, якщо вам не потрібні підказки, то відключаємо tooltips.js і т.д.

Плагін scrollspy стежить за позицією тексту і залежно від цього підсвічує той чи інший пункт меню. Зазвичай, така фішка потрібна на лендингах, на звичайних сайтах я практично не бачив. Ну і таке інше. Добре проаналізуйте, що вам потрібно, а що ні.

Змінні Less (Less variables)

Далі перед вами відкриється величезний пункт, в якому буде багато підпунктів з налаштуваннями змінних Less. Тут можна змінить практично все: кольори, розміри шрифтів, точки брекпоінтів, кількість колонок в сітці, відступи і т.д.

Звичайно, для цього ви повинні знати хоча б основи Less або хоча б інтуїтивно орієнтуватися в цих формах.

Наприклад, якщо ви бачите змінну @font-family-base, потрібно хоча б на інтуїтивному рівні розуміти, що вона відповідає за назву шрифту, який є базовим на сайті. Ну а змінна @font-size-base встановлює базовий розмір шрифту. За умовчанням у бутстрапі він дорівнює 14 пікселям.

Ви можете редагувати всі ці поля. Лише поміняйте 14 на 20 і ось вже ви зможете завантажити фреймворк, в якому за замовчуванням розмір шрифту – 20 пікселів. Відповідно, відразу можна налаштувати розміри заголовків і т.д.

Налаштування сітки

Дуже цікаві для нас також налаштування сіткової системи, ось вони:

Як бачите, ви можете за кілька секунд змінити кількість колонок і ширину відступів між ними. Змінна grid-float-breakpointвстановлює точку, де мобільне меню згортається в іконку.

Якщо ви зміните значення, наприклад, на @screen-md-min, то вже на ширині 991 піксель і менше відбуватиметься згортання. Також можна видалити цю змінну та написати значення в пікселях. Наприклад, 520 пікселів. Тоді згортання меню відбуватиметься лише на смартфонах та мобільних телефонах.

Власне, сторінка кастомізації Bootstrap має дуже багато налаштувань, але загалом такий спосіб кастомізації (за допомогою сторінки Customize на офіційному сайті) не найшвидший та найзручніший. Далі я покажу вам найшвидший спосіб.

Використовуйте сторінку Customize, коли потрібно внести 2-10 правок у фреймворк, або просто відключити потрібні компоненти. Якщо ви збираєтеся міняти набагато більше значень, необхідно використати інший метод.

Власне, коли ви налаштуєте свою версію фреймворку, натискайте велику кнопку в самому низу сторінки. Вона скомпілює версію Bootstrap під вас і скачає його на ваш комп'ютер. Далі вам залишається лише підключити та використовувати. Про підключення я вже розповідав у минулих статтях (у тому числі про те, як це зробити на WordPress).

Завантаження Less-вихідників та їх редагування

Як я вже казав, якщо вам потрібно робити багато правок у вихідний код фреймворку і ви хочете бачити зміни моментально, то вам знадобляться less-вихідники. Завантажити їх можна там же, де і повну версію фреймворку – розділ Getting Started.

Щоб працювати з Less-вихідниками та редагувати їх вам потрібні:

Хоч якісь знання css та less чи іншого препроцесора

Less компілятор (можна завантажити безкоштовно)

Власне, докладно я не зупинятимуся на кастомізації через less-вихідники, але це самий найкращий методтому що вам не потрібно буде 100 разів заходити на сторінку Customize і компілювати все нові і нові версії фреймворку.

Темизація Bootstrap або зміна зовнішнього вигляду елементів

За замовчуванням у повної версіїФреймворка в папці CSS також можна зустріти файл bootstrap-theme.css. Підключати його до сайту необов'язково. Які функції він виконує? Файл потрібний виключно для того, щоб при необхідності змінити стилі для потрібних елементів.

Цю ж роль може виконати власний style.css, в якому ви також можете перевизначити стилі. Bootstrap-theme не є обов'язковим файлом, його скоріше використовують для порядку. Наприклад, у вас є 3 файли:

bootstrap.css- Зрозуміло, це код самого фреймворку;

bootstrap-theme.css– тут ви перевизначаєте стилі для елементів бутстрапу;

style.css– а в цьому файлі пишіть стилі своїх елементів.

Тоді у вас буде порядок у коді та у структурі проекту. Але ніхто не забороняє вам усі операції робити в єдиному файлі – style.cssі взагалі використовувати файл теми.

Найголовніше, підключати в html-розмітці файл з темою і власний css пізніше, ніж файл з кодом фреймворку, щоб стилі успішно перевизначалися.

Приклад роботи темизації

Як я вже й казав, за замовчуванням Bootstrap вкладає у комплект файл bootstrap-theme. Спробуйте підключити його. Зазначу підключити після основного файлу.

За замовчуванням кнопки у бутстрапі виглядають так:

А ось так змінюється їхній зовнішній вигляд після підключення файлу з темою:

Як бачите, утворюється маленький градієнт. Відповідно, ви можете переписувати код у файлі bootstrap-themeта отримувати свої стилі для кнопок. Але ви можете запитати, чому б не робити ці зміни прямо в bootstrap.css? Ну справа в тому, що постійно виходять нові версії фреймворку і якщо ви вирішите оновитися, ваші редагування важко буде впровадити в нову версію. Хорошим тоном для розробника вважається не чіпати вихідний код, коли можна створити окремий файлта описати зміни там. Це набагато розумніше та зручніше.

Як встановити нові теми Bootstrap, завантажені з Інтернету?

Є досить багато сайтів, переважно зарубіжних, на яких безкоштовно можна завантажити купу тем і шаблонів. Щоб не було плутанини, давайте вважати шаблоном сайт, зверстаний за допомогою Bootstrap, а темою – набір css-правил, які перевизначають стандартний вигляд елементів.

Такі теми можна завантажити, наприклад, на bootswatch.com/, а використовуючи пошуковик ви можете знайти десятки інших.

Загальний принцип встановлення таких тем залежить від самого сайту, на якому ви їх завантажуєте. Якщо можна завантажити у форматі bootstrap-theme- Відмінно, скачуємо і підключаємо. На bootswatch, наприклад, потрібно завантажити bootstrap.css та замінити їм ваш стандартний файл стилів фреймворку. Також є варіант із less-вихідниками.

Ми познайомилися з фреймворком, розібрали його переваги, коротко розглянули його так звану сітку, тепер настав час на практиці розібрати, як користуватися Bootstrap.

Завантажити Bootstrap можна з офіційного сайту getbootstrap.com. На головній сторінці тиснемо на кнопку « Download Bootstrap».

Після кліку нас переносить на сторінку, де пропонується кілька видів скачування. У рамках цієї статті ми розглянемо звичайне завантаження повної версії фреймворку.

Після скачування та розпакування архіву ми отримуємо три папки:

  • CSS- папка зі стилями
  • JS- папка з js скриптами
  • FONTS- папка з іконними шрифтами

Це є весь фреймворк. Для подальшої роботиз Bootstrap я створюю папку з однойменною назвою bootstrap , в папці створюю один порожній файл index.html і буду наповнювати папку і файл попутно з розбором фреймворку в даній статті, а в кінці посту дам посилання, щоб Ви могли подивитися результат. Якщо повторюватимете за мною, то зрозумієте, що працювати з фреймворком дійсно легко.

З завантаженого фреймворку нам потрібно буде папка fonts повністю, один файл стилів з папки css з назвою bootstrap.css або bootstrap.min.css і аналогічно один скрипт з папки js з назвою bootstrap.js або bootstrap.min.js .

Відмінність файлів з ".min." від звичайних у цьому, що файли з «.min.» оптимізовані, тобто код написаний в один рядок без перенесення рядків і пробілів, тому вони важать менше звичайних, а вміст файлів абсолютно однаковий.

Тепер я створюю в своїй папці bootstrap папку css, поміщу в неї файл bootstrap.min.css і створюю папку js, в яку покладу bootstrap.min.js. Додатково в папці css створимо поки що порожній файл style.css для додавання власних стилів.

Потрібні файли фреймворку перенесені, і тепер працюватимемо лише з файлом index.html. Щоб не писати код самостійно, звернімося до документації, на сторінці завантаження офіційного сайту нижче є вже готовий HTML-скелет документа, копіюємо його та вставляємо в наш індексний файл.

У скелеті вже підключаються наш файл стилів, js скрипт та бібліотека jQuery , але якщо ви робите не на « бутстраповському» шаблоні, а на якомусь своєму, то потрібно між тегами підключити файл стилів bootstrap.min.css, а після нього створений style.css.

Потім перед закриваючим тегом спочатку підключаємо бібліотеку jQuery.

А після бібліотеки підключаємо js скрипт.

Загалом, HTML-скелет документа виходить такий.

Bootstrap

Підготовчий процес закінчено, Bootstrap підключений, можна йти далі та зайнятися наповненням нашої WEB-сторінки компонентами фреймворку.

Як користуватись документацією

Документація у фреймворку дуже хороша, що робить його простим у використанні. У головному меню офіційного сайту кілька розділів: Getting started», « CSS», « Components», « JavaScript» та « Custimize», на сторінці кожного розділу в правій колонці знаходяться назви різних компонентів, клацнувши по яких показується їх опис та варіанти використання у вигляді готового коду.

Якщо складнощі з англійською мовою, то в мережі є кілька ресурсів із перекладеною документацією, ось адреса одного з таких сайтів www.oneskyapp.com/ru/docs/bootstrap. Також можна скористатися яким-небудь перекладачем для браузера, переклад, звичайно, кривуватий, але суть написаного буде ясна. Загалом просто потрібно читати документацію, брати приклади коду і практикуватися.

Робота з сіткою Bootstrap

Як я говорив у минулій статті, сітка працює за принципом таблиці, включаючи ряди .rowта колонки .col, стовпчиків може бути максимум дванадцять. До класу.col додаються префікси (lg, md, sm, xs), які вказують ширину даного стовпцяна конкретній роздільній здатності екрана.

Обертаються ряди зі стовпцями в блок із класом .containerабо класом. container-fluid. Відмінність між ними в тому, що клас.container має максимальну ширину 1170 пікселів, а клас.container-fluid — ширину не обмежену, тобто на всю ширину екрана, навіть якщо роздільна здатність екрана дуже велика. Повну інформаціюпро сітку Bootstrap дивіться у документації розділу « CSS».

За допомогою сітки фреймворку зробимо класичну розмітку нашої сторінки (шапка, контент, бічна колонка та підвал), для цього створимо три ряди та чотири колонки, виходить такий код.

HEADER

CONTENT

SIDEBAR

FOOTER

Для розділення блоків я прописав два додаткові класи: .block , .block2 і додав у них за парою правил у створеному файлі style.css .

Block( background: #eee; border: 1px solid #000; ) .block2( background: #ccc; border: 1px solid #000; )

Додамо іконковий шрифт до наших заголовків. В розділі " Components» вибираємо іконки, що сподобалися, копіюємо текст під зображенням, цей текст є класом. Створюємо всередині тега заголовка тег та вставляємо скопійований клас.

HEADER

Тепер не заважало додати якесь меню. Для цього у розділі « Components» переходимо в « Navbar», вибираємо сподобалося меню, копіюємо код і після тега, що відкриває , вставляємо.

Залишилося заповнити conten t» та « sidebar». Все робимо за тією ж схемою: вибираємо компонент у документації, читаємо опис, копіюємо та вставляємо у потрібне місце. Я додам форму і кнопку, натиснувши на яку буде викликатися модальне вікно з таблицею.

Ось так просто, всього за 5 хвилин, ми накидали найпростіший макет сторінки, адаптивний під усі пристрої, причому практично не писали код самостійно. Перейдіть за посиланням та перегляньте отриманий результат.

На цьому я закінчуватиму статтю. Ми розглянули лише крихітну частину з функціоналу фреймворку, але як працювати з Bootstrap, гадаю, Ви зрозуміли. Наступний крок – це зміна стилів фреймворку під свої потреби та завантаження лише тих компонентів, які потрібні. Все це розберемо у статті



Завантаження...
Top