0.1.6 • Published 1 year ago

focus-panel v0.1.6

Weekly downloads
2
License
Apache-2.0
Repository
github
Last release
1 year ago

Focus panel

An HTML element that keeps the contents filling the container, but with a configurable focus point.

Useful for layouts with big full screen image/video backgrounds, which have areas that text should avoid.

Installation

<script src="https://unpkg.com/focus-panel[@version]></script> ([@version] is optional, but recommended)

or

npm install focus-panel, require('focus-panel')

Usage

Call the global focusPanelInit({mobileBreakpoint: ...}) to attach to all elements with the class name focus-panel.

e.g.

<div class="focus-panel"
     data-max-height="500">
    <video autoplay loop muted playsinline>
        <source src="https://nordprojects-static.s3.amazonaws.com/lantern/lantern-hero-mobile.mp4" type="video/mp4">
        <source src="https://nordprojects-static.s3.amazonaws.com/lantern/lantern-hero-mobile.webm" type="video/webm">
    </video>
</div>
<script src="https://unpkg.com/focus-panel"></script>
<script>
    focusPanelInit();
</script>

Options

Options are specified with data attributes.

Option nameExampleDescription
data-background/img/bg.jpgAn image to use as the background of the element. If omitted, uses the first child element.
data-aspect-ratio16:9The desired aspect ratio of the panel. Sets the height according to the width of the container.
data-max-height500The max height of the element, in pixels. Limits the height, regardless of aspect ratio.
data-offset2.0% -10.0%The amount to offset the image by, relative to the anchor point. Tweak with dev mode.
data-anchor-point90.0% 50.0%The amount to offset the image by, relative to the anchor point. Tweak with dev mode.
data-background-width1500The desired background width, in pixels. This is a minimum, it's ignored if the background must grow to fill the container. Tweak with dev mode.

All options accept mobile/desktop modifiers. For example, you can set data-aspect-ratio-mobile and data-aspect-ratio-desktop and they'll change at the breakpoint.

Workflow: tweak with dev mode

Once you've got the image panels in, with set aspect ratio, view the page with ?dev to use dev mode. Hold 'shift' and hover the mouse over a panel to select it. Then use:

mouse clickSets the focus point relative to the container
Moves the image relative to the focus point
+ -Grow/shink the background

The settings you tweak can then be copied from the overlay on the panel into your HTML.

0.1.4

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago