Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

liquidly

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

liquidly

No description

  • 0.0.4
  • npm
  • Socket score

Version published
Weekly downloads
2
Maintainers
1
Weekly downloads
 
Created
Source

liquidly

What is this?

レスポンシブデザインや顧客のディスプレイ幅に頭を悩ませず
ただひたすら デザインカンプ に忠実に
HTMLコーディングすることだけに集中するためのJSモジュールです


How to Install

Option1 : NPM

以下のコマンドでインストールします

npm install liquidly

プロジェクトルートに

liquidly.js

というファイルが生成されるので、自由なディレクトリに配置してお使いください。


Option2 : CDN

あるいは、CDNからお使いください。@以下は可能な限り最新バージョンを指定してください。

<script src="https://unpkg.com/liquidly@0.0.4/dist/index.js"</script>

最新バージョンは https://www.npmjs.com/package/liquidly から確認可能です。


How to use

ヘッドタグ末尾にスクリプトタグを挿入し、初期化関数を呼び出します。

<head>
・
・
・
<script src="/path/to/liquidly.js"></script>
<script>
liquidly.init({
    "pcCompSize": "1920",
    "spCompSize": "750",
    "breakPoint": "768"
})
</script>
</head>

Options

初期化関数liquidly.initへ渡すオプションは以下を用意しています

プロパティ名初期値 説明
body".lq__body" ウィンドウ幅に応じて可変する要素
elementFixed".lq__element--fixed"疑似fixed要素
pcCompSize1920 PCカンプの幅(px)
spCompSize750 SPカンプの幅(px)
breakPoint768PCカンプ⇔SPカンプ が切り替わるウィンドウ幅 (px)
fadeinDuration200htmlのopacity0から1への推移時間(ミリ秒)
resizeTimeout300リサイズイベントの発動スパン(ミリ秒)※1
scrollEndTimeout200 スクロール終了イベントの発動スパン(ミリ秒)※2
delay0初期化関数の遅延実行(ミリ秒)

※1 スクリプティング負荷を押さえるためリサイズイベントを間引きしています

※2 .lq__element--fixed要素は、iPad Safariの慣性スクロールには追従できないため、iPad Safariの時のみ、スクロール開始でopacity:0;pointer-events:none; 終了イベントでopacity:1;pointer-events:auto; としています


Functions

以下の関数を用意しています。グローバルスコープに定義していますので、footer等で読み込んだ他のスクリプト内でも使用可能です。

liquidly.getScale()

@returns float

現在のウィンドウ幅における、PC/SPカンプサイズからの拡大・縮小率を取得します

liquidly.getInvScale()

@returns float

現在のウィンドウ幅における、PC/SPカンプサイズからの拡大・縮小率の逆数を取得します
( 1/getScale() と等価であるが、除算はオーバーヘッドが大きい為、予め関数化)

liquidly.isBreak()

@returns boolean

現在のウィンドウ幅が、ブレイクポイント以下であれば true、ブレイクポイントより大きければ falseを返す


Rules

  1. ウィンドウ幅に併せて可変する要素.lq__bodyはHTMLソース内のただ1つの要素に適用できます。通常、bodyタグ直下のラッパーに指定することを推奨します。
 <body>
  <div class="lq__body">
    ・
    ・
    ・
  </div>
</body>

  1. .lq__bodyのリサイズにはCSS transformプロパティを使用しています。
    そのため、.lq__body内ではposition:fixedstickyが無効になります。
    fixed要素を置きたい場合は、.lq__body の外側に置いてください。
 <body>
  <div class="lq__body">
    ・
    ・
    ・
  </div>
  <div class="preloader" style="position:fixed;">
</body>

あるいは、header等の追従要素もリサイズ可能にしたい場合は、疑似的なposition:fixed効果を提供するクラス.lq__element--fixedを用意しています。

 <body>
  <div class="lq__body">
    <header class="lq__element--fixed"></header>
    ・
    ・
  </div>
</body>

  1. ページロード直後、リサイズイベントが発動するまでの数十ミリ秒の間、ページサイズが変わるのを防ぐために、htmlのcssにopacity:0を指定しておくことを推奨します。
html{
  opacity: 0;
  filter: alpha(opacity=0);
}

FAQs

Package last updated on 25 Feb 2020

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

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc