Липкая шапка таблицы на CSS
Практически на всех сайтах есть таблицы. А если эти таблицы имеют более дюжины строк, то вам, рано или поздно, понадобится сделать шапку таблицы «липкой». Многие до сих пор делают это с помощью JavaScript, но есть способ на чистом CSS.
Position Sticky Скопировать ссылку
thead
Как не выходить за рамки? Скопировать ссылку
К сожалению почти у всех таблиц, которые я встречаю, используется border-collapse: collapse . С этим свойством проще делать рамки для ячеек, но при этом сами рамки им уже не принадлежат, а как бы становятся частью самой таблицы. А это значит, что если шапка таблицы и стала липкой — рамки её ячеек всё равно прокручиваются вместе с таблицей.
Чтобы избавиться от этой проблемы, можно использовать border-collapse: separate . Да, с этим свойством рамки ячеек перестанут схлопываться, но нам это не помешает.
В некоторых дизайн-системах у ячеек есть только горизонтальные рамки, а значит достаточно просто указывать border-top или border-bottom . Но даже если вам нужно указать рамки со всех сторон, то есть много способов это сделать:
Рамки для конкретных сторон Скопировать ссылку
:root < --border-width: 2px; --border-color: #CED4DA; --border: var(--border-width) solid var(--border-color); >table < border-collapse: separate; border-spacing: 0; >thead < position: sticky; top: 0; >th, td < border-right: var(--border); border-bottom: var(--border); >th:first-child, td:first-child < border-left: var(--border); >thead tr:first-child th
Рамки как box-shadow Скопировать ссылку
table < border-collapse: separate; border-spacing: var(--border-width); >thead < position: sticky; top: var(--border-width); >th, td
В примере выше мы устанавливаем расстояние между ячейками с помощью border-spacing для таблицы и отступ для прилипания с помощью top для шапки, равный размеру рамки. А затем добавляем ячейкам тень box-shadow , имитирующую рамку.
Рамки как outline Скопировать ссылку
table < border-collapse: separate; border-spacing: var(--border-width); >thead < position: sticky; top: var(--border-width); >th, td
В примере выше мы повторяем трюк из предыдущего примера, но имитирурем рамку с помощью outline .
Не могу зафиксировать шапку
Но контентная часть не хочет идти после шапки. В чем проблема?
Отслеживать
7,291 5 5 золотых знаков 27 27 серебряных знаков 69 69 бронзовых знаков
задан 4 янв 2017 в 10:25
duddeniska duddeniska
3,948 17 17 золотых знаков 66 66 серебряных знаков 112 112 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Потому что блок .fixed_header находится не в потоке документа, из-за этого идет смещение контентной части. Для решения проблемы блок .fixed_header нужно обернуть еще в один и задать ему фиксированную высоту, чтобы он занимал пространство, отведенной для .fixed_header :
.header < height: 217px; /* Высота вашего фиксированного хедера */ >
Также можно непосредственно самой контентной части задать смещение через margin , однако первый вариант более верный, потому что рассчитан на то, что хедера может вообще не быть или он может изменяться.
Как закрепить шапку сайта при скролле страницы
Привет, друзья. Сегодня поговорим о том, как закрепить шапку сайта при прокрутке страницы. Наверняка вы все видели такой эффект, когда шапка сначала выглядит статичной, но когда вы начинаете изучать сайт и скролить, то она фиксируется в верхней части экрана и не покидает поле зрения.
При этом она может немного видоизменяться, меняя размер, цвет и содержимое. Давайте реализуем этот эффект, за который меня уже много лет «костерят» в комментариях из-за того, что тема раскрыта неполностью и исправим это недоразумение.
В свое время было недостаточно знаний, чтобы подробно проработать все нюансы, но теперь сделаю, практически, все популярные эффекты, которые могут понадобится при реализации этого блока.
Давайте начнем с того, что напишем какую-то стандартную разметку шапки, подключим jQuery, чтобы легче было манипулировать javascript и добавим скрипт, в котором и будем управлять состоянием и положением шапки.
Вот структура моего проекта.
HTML разметка шапки
Для примера я придумал такую структуру.
Слева логотип, название сайта и его описание, а справа контактные телефоны, кнопка обратного звонка и кнопка меню. Типичная разметка для многих сайтов.
Дабавим немного стилей и получим такой внешний вид.

Пока, тут нет никаких особенностей. Это обычная шапка без дополнительных эффектов.
Исходник для изучения разметки, стилей и кода, как обычно, в конце статьи.
Теперь давайте подключим перед закрывающим тегом «body» jQuery и скрипт, в котором и будем писать js-код для управления состоянием и положением шапки.
Итак, давайте начнем с простейшего, добьемся того, чтобы шапка принимала статическое положение и перекрывала контент, который должен находится под ней.
Чтобы это сделать, у нас есть несколько подходов. Первый заключается в том, чтобы при прокрутке добавить шапке определенный класс, с новыми стилями, а второй в том, чтобы добавлять и удалять их прямо в js. Я считаю, что основные манипуляции с CSS нужно делать в таблице стилей, поэтому пойду первым путем, но для этого нужно показать стили шапки, которые я задал, чтобы вы лучше понимали, что происходит. Вот они.
Так выглядят стили для обертки шапки и блок с ее содержимым. За счет такой структуры мы легко сделаем шапку фиксированной, а ее содержимое продолжит оставаться в центре на любом устройстве.
Как я уже говорил, для того чтобы «header» стал фиксированным при прокрутке, ему нужно поменять позиционирование на «fixed». Для этого, при помощи метода «scrollTop()» мы проверим значение прокрутки в окне браузера и в нужный момент добавим шапке класс, в котором и изменим позиционирование.
Звучит страшнее чем кажется. На самом деле все достаточно просто. Давайте в таблицу стилей добавим класс, при помощи которого шапка будет получать position: fixed.
Обратите внимание, что z-index для того, чтобы при позиционировании шапка была над остальными элементами, я задал непосредственно классу header немного ранее.
Теперь давайте перейдем к написанию скрипта. Открывайте файл scripts.js и добавьте следующий код.
Здесь мы создаем переменную header и присваиваем ей наш элемент, в котором расположена шапка, чтобы было легче и удобнее им манипулировать. Затем пишем функцию, которая следит за прокруткой, и если мы прокрутили больше чем на 1 пиксели от начала окна браузера, то элементу с классом header добавляем недавно созданный класс «header_fixed», который и фиксирует шапку в верхней области экрана.
Начало положено. Теперь шапка при прокрутке ведет себя так, как нам нужно было и успешно фиксируется. Но мне не нравится рывок, который заметен, когда мы меняем позиционирование. Попробуйте покрутить.
Давайте исправим это. Происходи такое резкое смещение из-за того, что шапка занимала 90 пикселей и, соответственно, смещала контент вниз на 90 писклей, а когда мы прокрутили, мы вырвали из общего потока этот элемент и все сдвигается на его высоту. Чтобы этого избежать, предлагаю body, во время того, как шапка становиться фиксированной, дать отступ в 90 пикселей, которые мы теряем. Только я не буду топорно зашивать эту высоту в скрипт, а автоматический вычислю ее высоту и буду использовать это значение в вычислениях.
Опять же звучит страшно и заумно, но посмотрите, как все просто.
В 3 строке я получаю число с высотой шапки. На 8 строке, добавлю отступ тегу body, равный высоте шапки, чтобы скомпенсировать ее, в тот момент, когда мы вырываем из общего потока шапку и минеям ей позиционирование.
Когда прокручиваем страницу обратно, и скрипт удаляет класс header_fixed, я также удалю и, теперь, лишний отступ у тега body.
Надеюсь, понятно объяснил и теперь у вас нет никакого рывка, при скролле, а шапка плавно фиксируется и позиционируется в верхней области экрана.
Изменение высоты шапки и цвета
Теперь давайте разбираться, как при прокрутке изменить высоту шапки. Это достаточно популярный эффект, о котором вы меня часто спрашивали.
Наверное, вы догадались уже, что никакой магии тут нет и делается все аналогично тому, как мы уже это проделали выше. Просто выбираем расстояние от верхней точки окна браузера, на котором должен произойти тот или иной эффект и добавляем или удалим класс, отвечающий за этот эффект.
Но давайте на этот раз я не буду задавать отдельный класс, а покажу как изменить стили прямо в js. Итак, задача при прокрутке на 300 пикселей при помощи jQuery плавно изменить высоту шапки и ее цвет.
Как видите, благодаря методу «.css» можно манипулировать стилями прямо из jQuery. Отступ был по 15 пикселей сверху и снизу, а я заменил его на 5, за счет чего шапка стала меньше на 20 пикселей. Цвет сделал бледно желтым, а при помощи свойства transition сделал эффект перехода из одного состояния в другое более плавным.
Как удалить/скрыть элемент из шапки при прокрутке страницы
Этот вопрос мне также периодически задавали в соцсетях, поэтому решил вынести его в отдельный пункт. Наверняка вы уже догадались, если дочитали статью до этого момента. Ничего нового, увы, тут не будет. Все также, как выше. Получим id или class элемента и добавим ему свойства для скрытия. Например «display: none» в простейшем случае.
Для примера давайте скроем один из номеров телефонов. Это будет сложнее, так как у обоих номеров одинаковый класс. Напомню, блок с контактами у меня выглядит так:
Теперь давайте в js напишем код, отвечающий за скрытие одного из номеров. Пусть это событие случается, когда мы прокрутили окно на 500 пикселей, но давайте, чтобы не повторятся, будем не просто стили менять или классом манипулировать, а воспользуемся методами fadeIn|fadeOut для плавного скрытия и появления элемента.
Вот, что мы получили:
Вот такой, достаточно простой эфеект получился. Надеюсь, все основные нюансы по закреплению шапки учел. Если будут еще какие-то вопросы, задавайте в комментариях.
Как зафиксировать позицию шапки и сайдбара сайта
Иногда бывает необходимо сделать шапку или сайдбар (а может быть и то и другое) на сайте фиксированными. То есть сколько бы Ваш посетитель не «скролил», контент будет двигаться, а фиксированный элемент всегда будет оставаться на той же самой позиции. На самом деле ничего сложного в этом нет, и сегодня я на примере покажу Вам как фиксировать позиции элементов.
Перед началом нашего урока хочется сказать, что таким образом Вы можете фиксировать не только шапку или сайдбар. Вы также можете сделать фиксированную позицию для футера или, возможно, Вы захотите сделать какую-то кнопку где-то сбоку, которая всегда будет на виду. В общем, все зависит от того, зачем Вам это нужно.
В данном же уроке я буду показывать фиксацию шапки и сайдбара (хотя на месте сайдбара мог бы оказаться и какой-то баннер или форма подписки, например).
Ну что же, давайте начнем!
Фиксируем позицию шапки и сайдбара на веб-странице
1. Первое, что потребуется сделать – это создать html-файл нашей страницы. Здесь я создам очень простую структуру страницы. У нее будет шапка с тремя заголовками, помещенная в тег header; сайдбар со ссылками и надписью, помещенный в тег aside; сами ссылки навигации будут расположены в теге nav; контент страницы в теге article и футер в теге footer.
Как видите, я в примере использую html5-теги. Это не принципиально, и если Вы по какой-то причине не хотите их использовать, то можете спокойно использовать теги div, при этом присваивая им соответствующие идентификаторы. Это никоем образом не повлияет на фиксацию элементов, просто мне в данном случае удобнее использовать именно html5.
Если будете использовать теги div с идентификаторами, то тогда не забудьте сделать соответствующие изменения в файле таблицы стилей (когда мы до нее дойдем). Например, если Вы используете вместо тега header, тег div то и в таблице стилей Вы будете прописывать свойства для #header , а не для header .
В качестве контента я сгенерировала специально побольше абзацев на Lorem Ipsum (ресурс для генерации текста) , чтобы у нас впоследствии была возможность поскролить и проверить фиксацию наших элементов.
Итак, вот содержимое html-файла с комментариями:
2. Вы, наверное, обратили внимание, что файл таблицы стилей уже подключен, осталось его только создать.
Итак, создаем css-файл с именем «fix.css» (можете дать и другое имя, но тогда не забудьте его поменять в атрибуте href тега link, который подключает файл таблицы стилей) и сохраняем в том же каталоге, что и наш html-файл.
Откроем css-файл, пока что он пусть и наша страница в браузере выглядит вот так.
Давайте займемся стилями и расставим все по своим местам.
Для начала я пропишу правило, чтобы все мои html5-элементы отображались как блочные (это решение для старых браузеров, которые не поддерживают данные элементы. Если бы не используете html5-теги, то можете не писать эту строчку). Также задам правило для тега body: мы зададим ему ширину, выравнивание по центру, рамку и цвет фона.
Теперь страница должна выглядеть вот так.
Страницу мы оцентровали, теперь давайте перейдем к стилям самой шапки.
Для того чтобы сделать нашу шапку фиксированной нам нужно задать для нее высоту, ширину и прописать position:fixed. Ширина нам в данном случае нужна такая же, как и ширина для тега body, то есть 980px, а высоту я взяла равную значению 300px.
Теперь поговорим о свойстве position. Когда для position задано значение fixed, то элемент фиксируется на определенном месте страницы. Также при значении position:fixed мы можем регулировать расположение элемента при помощи таких свойств, как top, right, bottom и left (но в случае с шапкой нам это не понадобится). Элемент с таким позиционированием привязывается к координатам окна и при прокрутке страницы остается на месте.
Также я придам нашей шапке цвет, рамку и выровняю текст, находящийся в ней по центру.
И также на этом этапе давайте придадим стили для заголовков на нашей странице и для тегов абзаца. Здесь ничего особенного – просто пропишем стиль шрифта, цвет и некоторые отступы.
Добавьте этот код в Ваш css-файл:
Если мы посмотрим на нашу страницу сейчас, то увидим следующее.
3. Шапка зафиксировалась. Вы можете промотать страницу вниз и убедиться в том, что она не движется.
Но, как Вы уже, наверное, заметили, часть нашего контента переместилась под шапку – так и должно быть, это особенность такого позиционирования. Скоро мы все расставим на свои места.
А пока давайте займемся стилями нашего сайдбара, который мы тоже собрались зафиксировать.
Нам нужно также определить для сайдбара ширину, задать ему фиксированное позиционирование, а также здесь мы воспользуемся свойством top, так как нам необходимо подкорректировать позицию блока сайдбара и сместить его под шапку (иначе он так и останется за шапкой). Я взяла для top значение 330px (300px – это высота нашей шапки и + еще 30 пикселей, чтобы шапка и сайдбар не были прилеплены друг к другу).
Это основное для позиционирования. Остальные стили придают цвет, рамку, отступы для текста, размер текста и т.д.
Добавьте вот этот код в Ваш файл таблицы стилей.
И вот, что у нас получится.
4. Вы можете видеть, что элементы зафиксировались, однако, текст нашего контента спокойно располагается под ними, как будто их и вовсе нет.
Это очень просто исправить, ведь мы знаем высоту нашей шапки и ширину сайдбара, а также ширину страницы. Ширина страницы равна 980px, а ширина сайдбара 200. Следовательно, мы можем задать для блока с контентом ширину равную 700px и сделать отступ от левого края 230 px (30 px чтобы блок с контентом не «прилипал» к сайдбару). А зная, что высота шапки равна 300px, мы можем задать и отступ сверху в 300px (здесь мы не берем больше, потому что заголовок в начале статьи уже автоматически имеет отступ сверху).
А также зададим простые стили для футера (только для того, чтобы определить его внешний вид).
Добавьте последний фрагмент кода в свой файл таблицы стилей и посмотрите результат.
Теперь можно скролить и скролить, а Ваша шапка и сайдбар всегда будут перед глазами.
На этом буду заканчивать. Исходники файлов Вы, как всегда, можете найти в Исходниках к уроку, а посмотреть эту страницу в браузере, можете нажав на кнопку «Демо» в начале урока.
Надеюсь урок был Вам полезен! Жду Ваших отзывов! Делитесь уроком с друзьями при помощи кнопок социальных сетей (буду очень признательна).
А также подписывайтесь на обновление блога, если Вы на него еще не подписаны. Дальше будет еще интереснее.
Как закрепить шапку кверху экрана
Недавно поступил один заказ на простенький блог. Вроде бы всё как всегда, но была одна штука, которая как я считал очень сложная. Суть в том, что необходимо было привязать шапку кверху экрана и чтобы при прокрутке сайта она оставалась всегда наверху нетронутой, в поле видимости. Таким образом бы у нас прокручивался только контент, а шапка бы стояла на месте.
Но глаза боятся, а руки делают. Хорошенько подумав я пришёл к выводу, что реализовать данное действие очень легко)
Надо то всего лишь заключить шапку и горизонтальное меню в отдельный div с параметрами position:fixed; top:0;
Таким образом у нас css слой будет постоянно привязан кверху. И всё бы ничго, но контент начала налегать на шапку и таким образом получилась каша. Избавиться от этого можно задав большой z-index для нашего слоя, и после него я рекомендую вставить пустой див по высоте равный нашей шапке, чтобы всё смотрелось гармонично.
В общем исходя из этого в css у меня получился такой код
Зафиксировать шапку
asp:TextBox, зафиксировать границы
День добрый! Возникла проблема следующего содержания: на форме использую блок asp:TextBox, и все.

Зафиксировать форму на странице в заданном положении относительно экрана даже при ее прокрутке
Привет всем. Сразу извинюсь за такою тему. Только начал изучать Web. На форме необходимо.
Зафиксировать название процесса
Как сделать не дефолтные процессы? Вообщем в диспетчере задач не менялось название процесса.

Как зафиксировать дату последнего изменения?
Хочу у себя на форме в приложении сделать метку, на которой будет написана дата и время последних.
Похожие публикации:
- В чем преимущества визуальных html редакторов
- Где находится файлы базы данных sql server
- Зачем html карта сайта
- Как в css обратиться к предыдущему элементу
Как закрепить шапку сайта при прокрутке страницы: Как закрепить шапку сайта при прокрутке страницы
html — Зафиксировать шапку — Stack Overflow на русском
Вопрос задан 7 лет 4 месяца назад
Изменён 7 лет 4 месяца назад
Просмотрен 16k раз
Есть сайт На нем есть верхнее меню. При нажатии на один из пунктов меню идет плавный скролинг до нужного места. А как сделать так, чтобы шапка всегда была вверху? Ниже код шапки
+7(824) 653-91-03Заказать звонокПобедитель конкурса "Лучший ювелирный магазин" в номинации «Драгоценные сети» 2015 г.
Ювелирные украшения Filigrano
Подчеркните cвою индивидуальность
Оставьте заявку прямо сейчас и получите новогодний подарок: дисконт в сети ювелирных салоновПолучить дисконт Filigrano
- Вам придется содержимое выдвинуть вне
- После этого добавить вот такой стиль:
header
Думаю, что это Вам поможет.
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Необходима, но никому не показывается
Отправить без регистрации
Необходима, но никому не показывается

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
javascript — Как фиксировать при скролле шапку таблицы в bootstrap 3?
Вопрос задан 8 месяцев назад
Изменён 8 месяцев назад
Просмотрен 81 раз
Всем привет. Есть сложная таблица. Пробовал методы с песочниц — сносит верстку всей таблицы. Может кто знает, как зафиксировать при скролле шапку?
| Шапка | Шапка | Шапка | Шапка | Шапка | ||||
| Шапка | Шапка | Шапка | Шапка Шапка | Шапка | Шапка | Шапка | Шапка | |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

http://jsfiddle. net/ku4f18r6/
Через position: sticky; например:
.table-fixed thead < position: sticky; top: 0; background-color: #fff; >.table-fixed thead td < background-color: #fff; >.table-fixed thead:before
[email protected]/dist/css/bootstrap-theme.min.css" rel="stylesheet"/> [email protected]/dist/css/bootstrap.min.css" rel="stylesheet"/>
| Шапка | Шапка | Шапка | Шапка | Шапка | ||||
| Шапка | Шапка | Шапка | Шапка Шапка | Шапка | Шапка | Шапка | Шапка | |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Необходима, но никому не показывается
Отправить без регистрации
Необходима, но никому не показывается

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
Scroll Activated Sticky Header Tutorial · Axure Docs
В этом руководстве вы узнаете, как сделать заголовок, который остается на месте при прокрутке страницы вниз и отклеивается при прокрутке страницы обратно вверх.
Примечание
Щелкните здесь, чтобы загрузить готовый файл RP для этого руководства.
1. Настройка виджета
Создать прокручиваемый заголовок
- Откройте новый файл RP и откройте Страница 1 на холсте.
- Перетащите четыре виджета-кнопки на холст. Выровняйте их по горизонтали и поместите на (0,200).
- Выберите все четыре виджета-кнопки и нажмите Group на верхней панели инструментов, чтобы сгруппировать их.
- Назовите группу Прокрутка заголовка .
Создать липкий заголовок

- Скопируйте группу Прокручиваемый заголовок и вставьте ее копию на холст в точке (0,0). Назовите копию Закрепленное содержимое заголовка .
- Щелкните правой кнопкой мыши новую группу и выберите Создать динамическую панель в контекстном меню.
- Назовите новую динамическую панель Sticky Header .
- На панели Стиль щелкните Закрепить в браузере .
- В появившемся диалоговом окне установите флажок Закрепить в окне браузера .
- Если ваша страница выровнена по центру (по умолчанию), установите горизонтальную булавку на Центр . Если ваша страница выровнена по левому краю, оставьте для горизонтальной булавки значение Left .
- Щелкните OK , чтобы закрыть диалоговое окно.
Сделайте содержимое страницы достаточно длинным для прокрутки

- Перетащите виджет активной области на холст и поместите его на (0,4000). Это сделает страницу прокручиваемой в веб-браузере, но виджет горячей точки не будет виден.
2. Скрыть липкий заголовок, пока страница не будет прокручена вниз
Сделать липкий заголовок скрытым по умолчанию
- Выберите динамическую панель Sticky Header и щелкните значок Hidden на панели Style или на панели инструментов стиля.
Показать закрепленный заголовок при прокрутке страницы

- Щелкните пустое место на холсте, чтобы выбрать саму страницу, и щелкните Новое взаимодействие на панели Взаимодействия .
- Выберите Window Scrolled в появившемся списке, а затем выберите действие Show/Hide .
- Выберите динамическую панель Sticky Header в раскрывающемся списке Target .
- Оставьте Показать выбранным и нажмите OK , чтобы сохранить действие.
Скрыть прокручиваемый заголовок при прокрутке страницы
- Наведите указатель мыши на действие Показать/скрыть и нажмите кнопку Появится кнопка Добавить цель .
- Выберите группу Scrolling Header в раскрывающемся списке Target .
- Выберите Скрыть и нажмите OK , чтобы сохранить действие.
Добавить условие, которое проверяет позицию прокрутки страницы
- Наведите указатель мыши на заголовок Window Scrolled на панели Interactions и нажмите Включить дела вправо. В появившемся диалоговом окне Condition Builder назовите дело . Прокрутите вниз и щелкните Add Logic .
- В появившейся строке условия выберите значение в первом раскрывающемся списке.
Затем щелкните значок fx справа от второго поля, чтобы открыть диалоговое окно Edit Text . - В верхней части диалогового окна нажмите Вставить переменную или функцию . В появившемся списке выберите Window.scrollY под заголовком Window . Теперь поле в верхней части диалогового окна должно выглядеть так: [[Window.scrollY]] . (Это выражение в квадратных скобках представляет собой количество пикселей, на которое страница была прокручена по вертикали в веб-браузере.)
- Щелкните OK , чтобы закрыть диалоговое окно Редактировать текст .
- В третьем поле строки условия выберите больше или равно . В поле справа введите 200 . Сводка в нижней части диалогового окна Condition Builder теперь должна выглядеть так: , если «[[Window.
scrollY]]» больше или равно «200» . Это условие будет выполнено, когда страница будет прокручена на 200 пикселей вниз, то есть именно тогда, когда группа Scrolling Header , расположенная в (0,200), достигнет верхней части страницы. Скрытие этой группы и одновременное отображение динамической панели Sticky Header создаст впечатление, что заголовок перестал прокручиваться. - Щелкните OK , чтобы закрыть диалоговое окно Condition Builder .
3. Предварительный просмотр взаимодействия
Предварительный просмотр страницы и прокрутка вниз. Заголовок должен остаться на месте, как только он достигнет верхней части страницы.
4. Снова показать прокручиваемый заголовок при прокрутке страницы вверх
Добавить второе окно с прокруткой Case

- Вернуться в Axure RP, навести указатель мыши на заголовок Window Scrolled в Взаимодействия и нажмите Добавить обращение справа. В появившемся диалоговом окне Condition Builder назовите случай Прокрутите вверх и нажмите OK без добавления какой-либо логики.
Примечание
Обратите внимание, что, несмотря на то, что мы не установили условие для этого случая, оно имеет условие ELSE IF true . Этот случай, также известный как случай «по умолчанию», срабатывает, если условие первого случая не выполняется (когда страница прокручивается выше Y=200).
Показать группу прокручиваемых заголовков

- Щелкните значок Insert Action внизу блока Window Scrolled и выберите Show/Hide 9 0007 действие в появившемся списке.
- Выберите группу Scrolling Header в раскрывающемся списке Target .
- Оставьте Показать выбранным и нажмите OK , чтобы сохранить действие.
Скрыть динамическую панель прикрепленного заголовка
- Наведите указатель мыши на действие Показать/скрыть и нажмите появившуюся кнопку Добавить цель .
- Выберите динамическую панель Sticky Header в раскрывающемся списке Target .
- Выберите Скрыть и нажмите OK , чтобы сохранить действие.
5. Предварительный просмотр взаимодействия
Предварительный просмотр страницы и прокрутка вверх и вниз. Заголовок должен оставаться на месте, когда вы прокручиваете страницу достаточно далеко, а затем снова отклеиваться, когда вы прокручиваете страницу обратно к началу.
Создайте липкий заголовок, реагирующий на прокрутку

Возможно, вы заметили, что многие мобильные приложения используют липкий заголовок . Возьмем, к примеру, веб-браузер: когда вы прокручиваете вниз, заголовок и окружающие кнопки уходят, но когда вы прокручиваете вверх, они скользят обратно. Это позволяет пользователю полностью погрузиться в страницу, будь то поток фотографий. , интригующий пост в блоге или даже список товаров, которые стоит изучить во время покупок.
Частичное (или полное) скрытие заголовка при прокрутке вниз помогает пользователю видеть больше содержимого на экране. Это то, что делает его таким восхитительным и популярным опытом. Но что еще более восхитительно, так это то, как легко создать этот реалистичный опыт в ProtoPie. Все, что ему нужно, это условие для проверки направления прокрутки. Благодаря встроенным в ProtoPie формулам и , обуславливающим функциональность , вы сможете усовершенствовать этот опыт в кратчайшие сроки!
- Создание контейнера прокрутки для создания прокручиваемого представления
- Определение свойства прокрутки контейнера прокрутки
- Использование условия и формул $touchVelocityY > 0 и $touchVelocityY для проверки направления прокрутки 900 24
- Добавить отдельные взаимодействия в зависимости от направления прокрутки
В конце концов, вы сможете сделать что-то вроде этого!
Starting Pie FileCompleted Pie File
1.

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

- На панели инструментов перейдите к Container , а затем выберите Scroll Container . Это создаст контейнер с включенной прокруткой. Давайте переименуем этот контейнер в «Scroll». Это поможет нам найти контейнер по мере продвижения вперед.
- Масштабируйте контейнер Прокрутите , перетащив один из углов, пока он не станет достаточно большим, чтобы закрыть экран. В качестве альтернативы вы можете ввести 375 x 812 для размеров и установите положение 0,0 . Нам нужно масштабировать контейнер, чтобы он поместился на экране, потому что обнаружение прокрутки может произойти только там, где существует контейнер. В этом примере мы будем использовать полноэкранный режим.
- Переупорядочите слой Scroll так, чтобы он располагался прямо над слоем Card list , перетащив Scroll на панель слоев . Это поможет предотвратить нежелательные нажатия, когда карты не видны.
- Теперь перетащите слой Список карт внутрь Scroll на панели слоев . Это последний шаг, который позволит сделать слой списка карт прокручиваемым.
- Попробуйте, нажав Предварительный просмотр на панели инструментов.
2. Определите свойство прокрутки контейнера прокрутки
Этот шаг поможет взаимодействию работать всякий раз, когда содержимое прокручивается в сцене.
1. На интерактивной панели нажмите Добавить триггер и добавить Обнаружить . На панели свойств триггера убедитесь, что выбран слой Scroll , и измените значение по умолчанию с X на Scroll .

- Изменение значения на Scroll заставляет триггер обнаруживать любые изменения положения выбранного слоя. Если бы вместо этого мы выбрали X , триггер обнаружил бы любые изменения позиции X выбранного слоя. Но позиция X слоя Scroll вообще не меняется, поэтому триггер Detect не даст никакого ответа.
3. Используйте условие и формулу для проверки направления прокрутки. и вниз.
- На интерактивной панели под триггером Обнаружить нажмите + , чтобы добавить новый ответ. Выберите Состояние .
- На панели свойств условия щелкните раскрывающийся список слоев и измените его на Формула .
3. Нажмите на строку формул и нажмите fx , чтобы открыть помощник по формулам. Тип: $touchVelocityY

$touchVelocityY возвращает скорость касания пальцем (или мышью), находящегося в движении (вдоль оси Y). Из-за этого он также может сообщить нам , в каком направлении происходит движение. Например, прокрутка вниз будет иметь значение 0 .
$touchVelocityY будет проверять весь экран на наличие касаний.
4. Добавьте отдельные взаимодействия в зависимости от направления прокрутки

- Для первого условия мы хотим настроить взаимодействие при прокрутке содержимого вниз. На панели свойств условия выберите $touchVelocityY . Это означает, что все ответы при этом условии будут работать при отрицательной скорости касания, или, другими словами, при прокрутке вниз.
- На интерактивной панели нажмите + под Detect и добавьте ответ Move . Выберите слой tabBar и установите его на Move To позицию 812 на оси Y . Координаты X можно оставить пустыми. Это перемещает слой tabBar в нижнюю часть экрана при прокрутке вниз.
- Мы также хотим переместить слой заголовка . Итак, на панели взаимодействия нажмите + под Detect и добавьте еще один ответ Move . На этот раз выберите заголовок слоя и установите для него значение Move To в положение 0 на оси Y . Это перемещает слой заголовка в верхнюю часть экрана при прокрутке вниз.
Наконец, мы хотим вернуть два слоя обратно при прокрутке вверх. Нажмите + под Обнаружить и добавить еще Условие . Введите формулу $touchVelocityY еще раз. Но на этот раз выберите > и установите значение 0 .
На интерактивной панели вы увидите еще одно условие, которое гласит: $touchVelocityY > 0 .

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