sonyps4.ru

Как сделать блок с прокруткой в html. Горизонтальная прокрутка на чистом CSS

Приветствую, дорогие друзья. Как Вы возможно заметили, что практически во всех браузерах прокрутка на сайтах очень резкая и не красивая. И конечно же хотелось бы сделать прокрутку для своего сайта более плавной, естественно это можно сделать и к тому же сильно не напрягаться. Делается это с помощью простого JQuery плагина и нескольких правил CSS. А для того, чтобы посмотреть как это всё работает предлагаю Вам взглянуть на демо, которое находится ниже.

Ι

Ну а теперь давайте перейдём прикреплению плавной прокрутки к нашему сайту.

HTML

Для начала нам нужно будет прикрепить библиотеку JQuery. Если она у Вас уже прикреплена, пропустите этот шаг:

Затем нам нужно прикрепить сам JQuery плагин, который и отвечает за нашу плавную прокрутку, и вместе с ним же идут отдельные правила CSS которые изменяют саму полосу прокрутки на сайте. Подробнее на счёт полосы прокрутки мы поговорим подробнее в следующем уроке, а пока что только плавная прокрутка. А вот и сами правила и плагин:

Всё. Теперь первый и немаловажный шаг мы уже сделали. Теперь нам нужно добавить одно простое правило в стили CSS нашего сайта.

CSS html, body{ height: 100%; }

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

Скрипт

А сейчас предлагаю подробнее разобрать демо пример. И начнём мы с HTML.

HTML в демо Плавная прокрутка для сайта Контент Привет, Это текст для демонстрации плавной прокрутки страниц на Вашем сайте. Действительно не плохо смотрится, не правда ли:) Этот текс будет повторяться. (function($){ $(window).load(function(){ $("body").mCustomScrollbar({ theme:"dark-thin" }); }); })(jQuery);

Как Вы можете видеть, что тут я использовал совершенно стандартную разметку HTML5, со всеми вставленными скриптами и CSS файлами о которых мы говорили выше. Думаю, что тут и объяснять нечего, если Вам будет что либо не понятно обязательно спросите в комментариях.

Ну а сейчас давайте взглянем на CSS правила.

CSS из демо @import url(http://fonts.googleapis.com/css?family=Bad+Script&subset=latin,cyrillic); @import url(http://fonts.googleapis.com/css?family=Lobster&subset=latin,cyrillic); body{ background-color: #fff; color: #555; font-size: 14px; font-family: "Bad Script", cursive; margin: 0; padding: 0; min-width: 480px; } html, body{ height: 100%; } h2{ font-size: 80px; text-align: center; font-family: "Lobster", cursive; font-weight: 700; font-style: italic; color: #444; } hr{ height: 0; border: none; border-bottom: 1px solid #eee; border-top: 1px solid #eee; margin-bottom: 50px; clear: both; } .cont{ font-size: 30px; margin: 0 auto; padding-top: 20px; width: 50%; max-width: 50%; } .text{ padding-top: 15px; padding-bottom: 20px }

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

Иногда бывает просто необходимо сделать на странице блок, который бы имел свою полосу прокрутки. Конечно тут вспоминаются фреймы, но за то, что они давно уже отжили своё, они нам не подходят. Хотелось бы какое-нибудь решение, где обычному div"у можно было бы присобачить скролл. И такое решение есть, и не одно, а всё с использованием возможностей AJAX.

Вертикальный скролл с помощью jScrollPane Общие слова

jScrollPane - это плагин к любимейшей библиотеке jQuery . Позволяет он приделывать вертикальный скролл div"у. Скролл можно конфигурировать по внешнему виду как угодно. На странице плагина (ссылка "инфо") можно найти различные способы его применения. Среди них выделю два: первый - в нём предложены основные способы и внешние виды скроллов, второй - показана реализация скроллинг в скроллинге, а также скроллинг всей странице как таковой. Скачать плагин можно с официального сайта, но можно и с моего

Маленькие хитрости

Плагин я использовал в практике несколько раз. Один из таких примеров можно видеть . Внешний вид его нестандартен, что есть хорошо - можно лепить, всё что душе угодно (не душе, батенька, а заказчикам, заказчикам - прим.ред. ).

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

Пример

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

HTML-файл. Структура блока со скроллом следующая



Контент

Есть внешний div с классом, есть внутренний div с идентификатором и обязательным классом scroll-pane. Всё. Вызов функции производится следующим образом:


$(function()
{
$("#vnutrenniy).jScrollPane({showArrows:true, scrollbarWidth: 16, arrowSize: 16});
});

При вызове указываются различные параметры, типа ширины скроллбара (scrollbarWidth), размера его стрелочек (arrowSize) и так далее. Основные из них следующие:

scrollbarWidth [число] - ширина скроллинга (по умолчанию 10)

scrollbarMargin [число] - отступ слева от скроллбара (по умолчанию 5)

wheelSpeed [число] - скорость колеса прокрутки в пикселах (по умолчанию 18)

showArrows [логическое] - показывать графические стрелочки или нет (по умолчанию false)

arrowSize [число] - высота стрелочки, если showArrows=true (рассчитывается через CSS, если не указана)

dragMinHeight [число] - минимальная высотка бегунка (по умолчанию 0)

dragMaxHeight [число] - максимальная высота бегунка (по умолчанию 99999!)

scrollbarOnLeft [логическое] - если скроллбар нужен слева, ставим true.

Теперь откроем файл jscroll.css. Смотрим следующие строки.

8-15 строки. Внутреннему div"у ставим ширину и высоту (!), оверфлоу (не обязательный параметр кажется), паддинг скорее всего понадобится, остальное неважно.

17-19 строки. Внешний div. Вот ему ни в коем случае нельзя прописывать высоту , и обязательно нужно указывать float: left . Всё это делается с одной целью - чтобы Опера 10 нормально работала со скроллом. Если это не соблюсти, то скролл дива будет синхронен со скроллом браузера и в итоге получится полная чушь. Помните об этом.

23-57 строки. Стили картинок для скролла

Изменение остальных строк по идее не нужно.

Вертикальный и горизонтальный скролл на FleXcroll

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

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

В завершении

Вертикальные и горизонтальные скроллы для div"ов не являются проблемой в реализации, всё просто и легко осуществимо. Поэтому дерзайте, используйте, открывайте новое. Всегда буду рад услышать комментарии, вопросы, пожелания=).

Иногда необходимо большой кусок текста разместить в маленьком окошке, который полностью туда не помещается, для решения этой проблемы легко создать слой с прокруткой — div с прокруткой .

Понадобится

Слой с фиксированным размером и CSS-стиль.

CSS

В CSS-классе.scroll устанавливаются параметры 600px в длину и 300px в высоту, внутренний отступ, рамка и цвет фона. НО! Самое главное параметр overflow:auto устанавливает появление полосы прокрутки при количестве текста большим, чем размер слоя.

Scroll { width:500px; height:300px; /* необходим фиксированный размер */ overflow:auto; /* прокрутка появляется по необходимости */ padding:10px 20px; border:#999 1px solid; background-color:#FAFAFA; }

HTML

Наибольшее распространение получили этиленгликолевые охлаждающие жидкости на основе этиленгликоля и воды (дистиллированной) с комплексом присадок. Антифризы получаются как водные растворы соответствующих концентратов. В процессе эксплуатации качество антифриза можно контролировать по плотности. Из охлаждающей жидкости в процессе эксплуатации в первую очередь испаряется вода, которую следует периодически доливать (дистиллированную). Необходимо следить за тем, чтобы в антифризы не попадали бензин и масла, так как они вызывают вспенивание и выброс жидкости из системы. Срок службы охлаждающих жидкостей типа «Тосол» и «Лена» ограничивается долговечностью присадок и обычно составляет 2 года; по пробегу для различных автомобилей в среднем составляет 50000 км. При первом техобслуживании подержанного автомобиля следует заменить охлаждающую жидкость. После слива старой жидкости заправьте систему чистой водой, пустите двигатель и дайте ему поработать на холостых оборотах 15-20 минут; затем слейте воду и заправьте систему новой охлаждающей жидкостью.

Результат

На экране вы увидите небольшую рамку с текстом и с границей серого цвета.

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

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

Срок службы охлаждающих жидкостей типа «Тосол» и «Лена» ограничивается долговечностью присадок и обычно составляет 2 года; по пробегу для различных автомобилей в среднем составляет 50000 км.

При первом техобслуживании подержанного автомобиля следует заменить охлаждающую жидкость. После слива старой жидкости заправьте систему чистой водой, пустите двигатель и дайте ему поработать на холостых оборотах 15-20 минут; затем слейте воду и заправьте систему новой охлаждающей жидкостью.

Полосы прокрутки (Scroll bars) - это вертикальная и горизонтальная полоски, размещаемые вдоль правого (при письме слева на право) и нижнего краев окна или отдельной области внутри окна, предназначенные для перемещения содержимого в вертикальном или горизонтальном направлениях. Для управления их внешним видом и поведением в веб-страницах используются элементы языка описания стилей CSS (Cascading Style Sheets - «Каскадные таблицы стилей»), встроенные в язык HTML.

Инструкция

Используйте тег div, если нужно сделать полосу прокрутки не для всей страницы, а только для ограниченной ее области. В языке HTML (HyperText Markup Language - «язык разметки гипертекста») «тегами» называют отдельные команды браузеру отобразить тот или иной элемент страницы. В самом простом виде тег div (его часто называют «слоем») пишется так:
Это текст внутри слоя
Здесь - открывающий тег, а - закрывающий. Все, что размещено между открывающим и закрывающим тегами, находится в слое как в контейнере и этому контейнеру можно задавать размеры - ширину и высоту. Это делается с помощью дополнительного параметра («атрибута») style, который следует добавить в открывающий тег:

Это текст внутри слоя

Указывайте в атрибуте style тега div и правила для полос прокрутки слоя тоже:

Это текст внутри слоя

Здесь overflow:auto означает, что полосы прокрутки будут появляться автоматически, то есть когда содержимое слоя не будет умещаться в заданные размеры. Если auto заменить на scroll, то эти полосы будут присутствовать всегда, независимо от того нужны они или нет. А значение hidden окажет противоположное действие - прокрутка никогда не будет появляться, даже если содержимого этого контейнера не будет видно за его краями.

Применяйте аналогичный способ и для добавления полос прокрутки к странице в целом. По умолчанию они появляются по мере необходимости, но если по какой-либо причине возникнет необходимость в их постоянном присутствии на странице, то в исходный html-код следует добавить соответствующее правило стиля. Найдите в коде страницы закрывающий тег заголовочной части документа и перед ним впишите эти стилевые инструкции:
body {overflow:scroll;}

Совет 2: Как сделать полосу прокрутки

В наше время иметь собственный сайт – не роскошь, а скорее необходимость. Его создание требует определенных навыков и знания html. Создать простой сайт довольно просто. Однако его украшение и создание интерактивных элементов, обеспечивающих дополнительную функциональность сайта, вызовет у новичка трудности. Один из таких интерактивных элементов, повышающих удобство посетителей сайта – полоса прокрутки. Она особенно пригодится в полях сайта, обеспечивающих его связь со скриптами (взаимодействие сайта с пользователями).

Вам понадобится

  • Интернет или любой учебник по html

Инструкция

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

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

Между тегами BODY вы должны добавить стандартный код для скролла. Найти его можно в любом учебнике по html. Есть два варианта - либо добавить этот фрагмент напрямую в html код страницы, либо приложить в таблице стилей css. Второй способ удобнее, если вы меняете не одну страничку, а весь сайт сразу. Затем нужно ввести цветовые параметры полосы прокрутки, иначе она будет серой и неинтересной. На рисунке показаны и подписаны элементы скролла. Параметры нужно вводить так же, как показано на рисунке, через точку с запятой.

Теперь вы обязательно должны протестировать свои доработки. Чтобы полоса прокрутки одинаково смотрелась во всех браузерах, проверьте ее на основных - Internet Explorer, Mozilla Firefox и Opera. Если она не работает на одном из них, вернитесь к первому этапу и исправьте ошибки.

Полезный совет

Есть простой способ создания полосы прокрутки для web-страницы. Задайте параметр высоты для вашего сайта 75%, тогда скролл появится сам. Правда, его цветовые схемы все равно стоит настроить.

Совет 3: Как изменить полосу прокрутки

Инструкция

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

Сделайте жесткую привязку скролла (так еще могут называть полосу прокрутки) к какому-то конкретному элементу страницы. Это может быть текстовое поле, представляющее собой ниспадающий список. Рассчитайте место «парковки» полосы в пиксельном и процентном соотношении. Это вовсе не будет трудно, если страница четко структурирована.

Добавьте стандартный код полосы прокрутки между тегами body. Если вы не знаете о чем идет речь, скачайте любой учебник по html верстке. Там будет четко описано, как написать такой код. Лучше всего для таких случаев иметь под рукой готовые шаблоны аналогичных сайтов, чтобы можно было взять оттуда какие-то отдельные элементы программного кода, что значительно упрощает жизнь. Итак, вы нашли код. Расположите его либо непосредственно в самом коде страницы либо приложите его в таблицу css, что значительно проще, но в том случае, если вы меняете не одну, а все страницы сайта.

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



Загрузка...