oncss
oncss ialah perpustakaan CSS-dalam-JS yang menyediakan pembangun dengan fungsi css yang berkuasa untuk menggayakan aplikasi web mereka. Ia mendayakan teknik penggayaan moden, termasuk pemilih bersarang, reka bentuk responsif dan bingkai kunci dinamik, semuanya sambil menawarkan penyepaduan yang lancar dengan rangka kerja JavaScript seperti React.
Pemasangan
Pasang pakej oncss melalui npm:
npm install oncss
Import fungsi css dalam projek anda:
import css from 'oncss';
Konsep Teras: Fungsi css
Fungsi css ialah nadi oncss, direka untuk menjana dan menyuntik CSS secara dinamik ke dalam aplikasi anda. Ia menyokong:
- Sifat CSS: Gunakan sifat dan nilai CSS standard.
- Pemilih Bersarang: Gunakan gaya pada elemen atau keadaan anak menggunakan &.
- Pertanyaan Media: Laksanakan reka bentuk responsif dengan peraturan @media.
- Kerangka kekunci: Cipta animasi dengan @keyframes.
- Gaya Global: Gunakan gaya secara global dengan @global.
- Titik Putus Tersuai: Tentukan titik putus boleh guna semula untuk responsif.
- Peraturan Peraturan Lain: Gunakan peraturan peraturan tambahan seperti @bekas, @lapisan dan @sokongan.
Contoh Asas
const buttonStyles = css({ backgroundColor: 'blue', color: 'white', padding: '10px 20px', borderRadius: '5px', '&:hover': { backgroundColor: 'darkblue', }, '@media (min-width: 768px)': { padding: '15px 30px', }, }); console.log(buttonStyles);
Pilihan Konfigurasi
Fungsi css boleh disesuaikan melalui objek pilihan:
Hartanah Tersedia
Property | Type | Description |
---|---|---|
classPrefix | string | Adds a prefix to generated class names. |
breakpoints | object | Custom breakpoints for responsive designs. |
aliases | object | Custom shorthand properties for CSS rules. |
injectStyle | boolean | Controls whether styles are auto-injected. |
skipProps | function | Filters out unwanted properties. |
getValue | function | Transforms property values dynamically. |
getProps | function | Customizes specific property handling. |
Contoh dengan Pilihan
npm install oncss
Menggunakan Titik Putus
Anda boleh menggunakan titik putus yang ditentukan dalam gaya anda untuk mencipta reka bentuk responsif:
import css from 'oncss';
Integrasi Reaksi
oncss disepadukan dengan lancar dengan React. Hanya hantar nama kelas yang dijana kepada komponen anda.
Contoh Reaksi
const buttonStyles = css({ backgroundColor: 'blue', color: 'white', padding: '10px 20px', borderRadius: '5px', '&:hover': { backgroundColor: 'darkblue', }, '@media (min-width: 768px)': { padding: '15px 30px', }, }); console.log(buttonStyles);
Ciri Lanjutan
Pemilih Bersarang
Gunakan gaya pada elemen kanak-kanak atau kelas pseudo:
const styles = css({ fontSize: 16, padding: 10, }, { classPrefix: 'myprefix', breakpoints: { sm: 480, md: 768, lg: 1024, }, });
Pertanyaan Media
Tambah gaya responsif dengan mudah:
const responsiveStyles = css({ fontSize: 14, padding: { sm: 12, lg: 24 }, }, { breakpoints: { sm: 480, md: 768, lg: 1024, }, });
Bingkai utama
Takrif dan gunakan animasi:
import React from 'react'; import css from 'oncss'; const buttonStyle = css({ backgroundColor: 'green', color: 'white', padding: '10px 20px', borderRadius: '8px', '&:hover': { backgroundColor: 'darkgreen', }, }); function Button() { return <button classname="{buttonStyle.toString()}">Click Me</button>; } export default Button;
Gaya Global
Gunakan gaya global dengan mudah:
const cardStyles = css({ padding: '20px', border: '1px solid #ccc', '& h1': { fontSize: '24px', margin: 0, }, '&:hover': { boxShadow: '0 4px 8px rgba(0, 0, 0, 0.1)', }, });
Disokong At-Rules
oncss menyokong pelbagai peraturan CSS untuk meningkatkan keupayaan penggayaan anda. Berikut ialah senarai peraturan-peraturan yang disokong dengan penerangan:
At-Rule | Description |
---|---|
@media | Used for applying styles based on media queries for responsive design. |
@keyframes | Defines animations that can be applied to elements. |
@global | Applies styles globally across the entire application. |
@container | Used for container queries to apply styles based on container size. |
@layer | Defines style layers to control the order of style application. |
@supports | Applies styles based on the support of specific CSS features in the browser. |
Penggayaan Sebelah Pelayan
oncss menyokong pemaparan sisi pelayan (SSR) dengan menggunakan CSSFactory untuk menyimpan dan mengurus gaya CSS yang dijana. Ini membolehkan anda mengekstrak dan menyuntik gaya ke dalam HTML yang diberikan pelayan anda.
Contoh dengan React
Berikut ialah contoh cara menggunakan oncss untuk pemaparan sebelah pelayan dengan React:
npm install oncss
formatCSSValue
formatCSSValue ialah fungsi utiliti yang memformat nilai CSS, menambah unit seperti px jika perlu.
import css from 'oncss';
Integrasi TypeScript
oncss menyediakan sokongan TypeScript penuh, membolehkan anda menentukan jenis untuk sifat dan pilihan CSS anda.
Menentukan Sifat CSS
Anda boleh menentukan jenis untuk sifat CSS anda menggunakan jenis CSSProps:
const buttonStyles = css({ backgroundColor: 'blue', color: 'white', padding: '10px 20px', borderRadius: '5px', '&:hover': { backgroundColor: 'darkblue', }, '@media (min-width: 768px)': { padding: '15px 30px', }, }); console.log(buttonStyles);
Menggunakan Pilihan dengan Jenis
Anda juga boleh menentukan jenis untuk objek pilihan:
const styles = css({ fontSize: 16, padding: 10, }, { classPrefix: 'myprefix', breakpoints: { sm: 480, md: 768, lg: 1024, }, });
Kesimpulan
oncss memudahkan penggayaan untuk aplikasi web moden. Set cirinya yang mantap, daripada reka bentuk responsif kepada animasi bingkai utama, menjadikannya alat yang tidak ternilai untuk pembangun.
Pengarang

![]() |
Naxrul Ahmed GitHub Profile npm Profile Open Source Projects |
Projek Sumber Terbuka
⚡️ Di mana untuk mencari saya
Atas ialah kandungan terperinci ONCSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Saya mendapat soalan ini pada hari yang lain. Pemikiran pertama saya ialah: soalan pelik! Kekhususan adalah mengenai pemilih, dan at-peraturan bukan pemilih, jadi ... tidak relevan?

Ya, anda boleh, dan ia tidak begitu penting dalam perintah apa. Preprocessor CSS tidak diperlukan. Ia berfungsi dalam CSS biasa.

Anda pasti pasti menetapkan tajuk cache yang jauh pada aset anda seperti CSS dan JavaScript (dan imej dan fon dan apa sahaja yang lain). Yang memberitahu penyemak imbas

Ramai pemaju menulis tentang bagaimana untuk mengekalkan asas CSS, namun tidak banyak daripada mereka menulis tentang bagaimana mereka mengukur kualiti asas kod tersebut. Pasti, kita ada

Pernahkah anda mempunyai bentuk yang perlu menerima sedikit teks yang sewenang -wenangnya? Seperti nama atau apa sahaja. Itu ' s betul -betul apa. Terdapat banyak

Saya sangat teruja untuk menuju ke Zürich, Switzerland untuk persidangan depan (suka nama dan url!). Saya tidak pernah ke Switzerland sebelum ini, jadi saya teruja

Salah satu perkembangan kegemaran saya dalam pembangunan perisian adalah kedatangan tanpa pelayan. Sebagai pemaju yang mempunyai kecenderungan untuk terjebak dalam butiran

Dalam siaran ini, kami akan menggunakan demo kedai e -dagang yang saya bina dan digunakan untuk Netlify untuk menunjukkan bagaimana kami boleh membuat laluan dinamik untuk data masuk. Ia adil


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa