Socket
Book a DemoInstallSign in
Socket

gitee-dom-align

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gitee-dom-align

Align DOM Node Flexibly

1.12.2
latest
npmnpm
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

dom-align

align source html element with target html element flexibly.

NPM version build status Test coverage gemnasium deps npm download

Screenshot

Install

dom-align

Feature

  • support IE9+ chrome firefox
  • support align points and offset
  • support auto adjust according to visible area

Online Demo

Usage

import domAlign from 'dom-align';

// use domAlign
// sourceNode's initial style should be position:absolute;left:-9999px;top:-9999px;

const alignConfig = {
  points: ['tl', 'tr'],        // align top left point of sourceNode with top right point of targetNode
  offset: [10, 20],            // the offset sourceNode by 10px in x and 20px in y,
  targetOffset: ['30%','40%'], // the offset targetNode by 30% of targetNode width in x and 40% of targetNode height in y,
  overflow: { adjustX: true, adjustY: true }, // auto adjust position when sourceNode is overflowed
};

domAlign(sourceNode, targetNode, alignConfig);

API

void domAlign(source: HTMLElement, target: HTMLElement, alignConfig: Object):Function

alignConfig object details

nametypedescription
pointsString[2]move point of source node to align with point of target node, such as ['tr','cc'], align top right point of source node with center point of target node. point can be 't'(top), 'b'(bottom), 'c'(center), 'l'(left), 'r'(right)
offsetNumber[2]offset source node by offset[0] in x and offset[1] in y. If offset contains percentage string value, it is relative to sourceNode region.
targetOffsetNumber[2]offset target node by offset[0] in x and offset[1] in y. If targetOffset contains percentage string value, it is relative to targetNode region.
overflowObject: `{ adjustX: boolean, adjustY: boolean, alwaysByViewport:boolean }` if adjustX field is true, then will adjust source node in x direction if source node is invisible. if adjustY field is true, then will adjust source node in y direction if source node is invisible. if alwaysByViewport is true, the it will adjust if node is not inside viewport
useCssRightBooleanwhether use css right instead of left to position
useCssBottomBooleanwhether use css bottom instead of top to position
useCssTransformBooleanwhether use css transform instead of left/top/right/bottom to position if browser supports. Defaults to false.

Development

npm install
npm start

Example

http://localhost:8020/examples/

Test Case

npm test
npm run chrome-test

Coverage

npm run coverage

open coverage/ dir

License

dom-align is released under the MIT license.

Keywords

gitee

FAQs

Package last updated on 21 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.