Skip to content

Angular2 directive to make elements stick during scrolling.

License

Notifications You must be signed in to change notification settings

endticket/ng2-sticky

 
 

Repository files navigation

Angular2 Sticky Fixed

Based on makseo's ng2-sticky.

Angular2 Sticky (no jQuery is required) makes HTML elements sticky. For instance, the header, the menu, the sidebar or any other block can be stuck at the desired position.

Supports Angular 2.3.0

NPM

Install with npm:

npm install fixed-ng2-sticky-kit --save

Initial development environment:

npm install
npm run typings
npm run build

Run demo application:

npm run lite-server

Usage

[sticky] - makes an element sticky

<sticky>Sticky element</sticky>
<div sticky>Sticky div</div>

[sticky-zIndex] : (default 10) - controls z-index CSS parameter of the sticky element

<sticky sticky-zIndex="999">Sticky element</sticky>

[sticky-width] : (default "auto") - width of the sticky element

[sticky-offset-top] : (default 0) - pixels between the top of the page or container and the element

[sticky-offset-bottom] : (default 0) - pixels between the bottom of the page or container and the element

<sticky sticky-offset-top="20" sticky-offset-bottom="20">Sticky element</sticky>

[sticky-start] : (default 0) - position where the element should start to stick

<sticky sticky-start="20">Sticky element</sticky>

[sticky-class] : (default "sticky") - CSS class that will be added after the element starts sticking

[sticky-end-class] : (default "sticky-end") - CSS class that will be added to the sticky element after it ends sticking

[sticky-media-query] : (default "") - media query that allows to use sticky

[sticky-parent] : (default true) - if true, then the sticky element will be stuck relatively to the parent containers. Otherwise, window will be used as the parent container.

[sticky-side] : (default "left") - the side of the original absolute positioning of the element

NOTE: the "position: relative" styling is added to the parent element automatically in order to use the absolute positioning

Example

app.module.ts

import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {StickyModule} from 'fixed-ng2-sticky-kit/ng2-sticky-kit';
import {AppComponent} from './app.component';

@NgModule({
    imports: [
        BrowserModule,
        StickyModule
    ],
    declarations: [
        AppComponent
    ],
    bootstrap: [
        AppComponent
    ]
})
export class AppModule {}

app.component.ts

import {Component} from '@angular/core';

@Component({
  selector: 'app',
  template: '<sticky [sticky-offset-top]="20"><div>demo</div></sticky>',
})
export class DemoComponent { }

If you are using system.js, don't forget to add 'ng2-sticky-kit-fixed' to your list of packages.

About

Angular2 directive to make elements stick during scrolling.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 50.3%
  • TypeScript 33.1%
  • JavaScript 14.2%
  • CSS 2.4%