Несколько колонок на CSS3
Вам когда-нибудь надо было создавать многоколоночный шаблон для вывода информации? Чтобы было похоже на колонки в газете. Наверняка, да. Обычный способ реализации такой задачи - элементы разметки со свойством float: left. Но CSS3 предоставляет альтернативу. С ней не нужно резать информацию на блоки - несколько колонок формируются с помощью одного элемента.
В нашем примере используются свойства CSS3 column-count, column-gap и column-rule. Не все браузеры поддерживают данные свойства CSS3, но новые версии будут выводить все корректно. Наш пример будет выглядеть вот так:
Разметка HTML
Обычная разметка с одним элементом div
для информации:
<!DOCTYPE html> <html lang="ru" > <head> <meta charset="utf-8" /> <title>Несколько колонок на CSS3 | Материалы сайта RUSELLER.COM</title> <link href="/css/main.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="/js/jquery-1.5.2.min.js"></script> <script type="text/javascript" src="/js/script.js"></script> </head> <body> <div class="controls"> <input type="button" id="more_cols" value="Добавить колонку" /> <input type="button" id="less_cols" value="Удалить колоноку" /> <input type="button" id="more_gap" value="Увеличить зазор" /> <input type="button" id="less_gap" value="Уменьшить зазор" /> </div> <div class="container" id="container"> . . . Информация размещается здесь . . . </div> </body> </html>
CSS
Контейнер для информации будет использовать три свойства, которые формируют несколько колонок:
.container { background:#C5DFF0; color:#000; margin:20px auto; padding:20px; position:relative; width:800px; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; box-shadow:1px 1px 5px #111111; column-count: 3; column-gap: 3em; column-rule: 1px dashed black; -moz-column-count: 3; -moz-column-gap: 3em; -moz-column-rule: 1px dashed black; -webkit-column-count: 3; -webkit-column-gap: 3em; -webkit-column-rule: 1px dashed black; } .controls { background:#C5DFF0; margin:20px auto; padding:20px; position:relative; width:800px; box-shadow:1px 1px 5px #111111; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; } .controls input[type=button] { border: 1px solid #000; background-color: #666; box-shadow: 0 1px 0 rgba(150, 150, 150, 0.5); color: #FFF; cursor: pointer; font-size: 14px; font-weight: bold; margin-right: 10px; padding: 8px 12px; } .controls input[type=button]:hover { background-color:#444; } .controls input[type=button]:active { background-color:#000; }
JavaScript
Код JavaScript используется для динамического изменения шаблона - добавления/удаления колонок, увеличение/уменьшения зазора между колонками.
$(function(){ var iColumns = 3; var iGap = 3; var cont = document.getElementById('container'); $('#less_cols').click(function(e) { // Обработка нажатия кнопки мыши iColumns--; // Уменьшаем количество колонок if (iColumns < 1) iColumns = 1; cont.style.MozColumnCount = iColumns; // Применяем стили cont.style.WebkitColumnCount = iColumns; }); $('#more_cols').click(function(e) { iColumns++; // Увеличиваем колчиество колонок if (iColumns > 5) iColumns = 5; cont.style.MozColumnCount = iColumns; // Применяем стили cont.style.WebkitColumnCount = iColumns; }); $('#less_gap').click(function(e) { iGap--; // Уменьшаем размер зазора if (iGap < 0) iGap = 0; cont.style.MozColumnGap = iGap+'em'; // Применяем стили cont.style.WebkitColumnGap = iGap+'em'; }); $('#more_gap').click(function(e) { iGap++; // Увеличиваем размер зазора if (iGap > 5) iGap = 5; cont.style.MozColumnGap = iGap+'em'; // Применяем стили cont.style.WebkitColumnGap = iGap+'em'; }); });
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/U9wwMdwlT84/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Все мы сидим в сточной канаве, но некоторые при этом смотрят на звезды Уайльд Оскар - (1854-1900) - английский писатель |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.