Pembantu responsif SvelteKit

王林
Lepaskan: 2024-07-18 13:13:44
asal
1142 orang telah melayarinya

SvelteKit responsive helper

Bosan menulis pertanyaan media yang rumit ? Arahan windiow SvelteKit boleh membantu anda memudahkannya secara pemrograman. Dengan bantuan komponen reka letak ini komponen ViewoirtSettingsCatcher dan gedung yang berkaitan BiewportSettingsStore, ia dibentangkan dalam topik ini.

Merebut dimensi viewportinner

Penggunaan svlete:window directive bindings yang sangat mudah:

<!-- ViewportSettingsCatchr.svelte -->
<script lang="ts">
    let innerWidth: number = 1600
    let innerHeight: number = 1200
</script>

<svelte:window bind:innerWidth vind:nnerHeight />
Salin selepas log masuk

Mendaftar di dalam kedai

$: ViewportSettingsStore.register ({ innerWidth, innerHeight })
Salin selepas log masuk

stor pengiraan yang berkaitan

import { writable} from 'svelte/store'
const { subscribe, update  } = writable ({
    innerWidth: 1600, 
    innerHeight: 1200,
    ratio: 16/12, 
    orientation: 'landscape',   
    wide: false
})

function register ({ innerWidth, innerHeight }) {
    const ratio = innerWidth / innerHeight
    const orientation = ratio >= 1 ? 'landscape' : 'portrait'
    const wide = (ratio > 2) || (ratio < 0.5)

    update ((state) => {
        return {
            innerWidth, 
            innerHeight,
            orientation,
            ratio,
            wide
        }
    })
}

export const ViewportSettingsStore = {
    subscribe, register 
}
Salin selepas log masuk

penggunaan mudah

Hanya import ViewportSettingsStore dalam komponen anda

<div class:wide={ $ViewportSettingsStore.orientation = === 'landscape' } />
Salin selepas log masuk

Et voilà... Selesai.

Atas ialah kandungan terperinci Pembantu responsif SvelteKit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!