Rumah >hujung hadapan web >tutorial css >CSS Baru Berubah Selamanya: Ciri evolusi yang Anda Perlu Tahu

CSS Baru Berubah Selamanya: Ciri evolusi yang Anda Perlu Tahu

DDD
DDDasal
2024-12-05 19:57:12375semak imbas

CSS Just Changed Forever: evolutionary Features You Need to Know

Sebagai pembangun web, kita semua pernah mengalami detik-detik kekecewaan apabila berurusan dengan CSS. Daripada memusatkan div kepada menguruskan peralihan mod gelap, CSS secara sejarahnya telah menjadi punca sakit kepala pembangun yang tidak terkira banyaknya. Tetapi landskap berubah. Dengan kemas kini utama terkini dan logo baharu yang cantik dalam Rebecca Purple, CSS memasuki era baharu ciri mesra pembangun yang berkuasa.

? Dapatkan petua CSS mingguan, coretan kod dan tutorial terus ke peti masuk anda - 100% percuma!

Kepentingan Rebecca Purple

Sebelum menyelami ciri baharu, sila ambil perhatian kisah menyentuh di sebalik warna logo CSS baharu. Rebecca Purple bukan sekadar nama warna lain - ia membawa makna yang mendalam dalam komuniti pembangunan web. Dinamakan sempena Rebecca Meyer, anak perempuan perintis CSS Eric Meyer, warna ini berfungsi sebagai penghormatan yang berkekalan. Rebecca, yang berkeras mahu dipanggil dengan nama penuhnya pada usia enam tahun, meninggal dunia tidak lama kemudian. Ingatannya terus hidup melalui warna CSS standard ini, yang mungkin akan menjadi sebahagian daripada asas web selama berabad-abad akan datang.

1. Selaraskan Kandungan Tanpa Kerumitan

Ingat semua meme tentang memusatkan div? Mereka kini sudah usang. Sifat kandungan penjajaran baharu berfungsi secara langsung dalam sebarang reka letak blok, tiada kotak flex atau grid diperlukan. Agak mengejutkan ia mengambil masa 25 tahun untuk melaksanakan ciri asas seperti itu, tetapi lebih baik lewat daripada tidak sama sekali.

.centered-content {
    align-content: center;  /* That's it! No flexbox or grid needed */
    block-size: 100vh;
}

2. Pembolehubah CSS ditaip dengan @property

Sebahagian daripada CSS Houdini, peraturan @property ialah pengubah permainan untuk pengendalian berubah-ubah. Sebelum ini, pembolehubah CSS ditafsirkan sebagai rentetan mudah, mengehadkan potensi animasinya. Kini, anda boleh menentukan jenis pembolehubah seperti nombor, warna atau peratusan, mendayakan kod yang lebih selamat dan animasi yang lebih canggih.

/* Old way - limited animation capabilities */
:root {
    --gradient-stop: 50%;
}

/* New way - fully animatable */
@property --gradient-stop {
    syntax: '<percentage>';
    initial-value: 0%;
    inherits: false;
}

.gradient {
    background: linear-gradient(90deg, blue var(--gradient-stop), red);
    transition: --gradient-stop 0.3s;
}

.gradient:hover {
    --gradient-stop: 75%;
}

3. Gaya Permulaan: Tayangan Pertama yang Lebih Baik

Peraturan gaya @permulaan baharu menyelesaikan cabaran animasi biasa. Apabila elemen disembunyikan dengan paparan: tiada satu pun kelihatan, animasi masuknya sering gagal dicetuskan. Peraturan ini membolehkan anda mentakrifkan gaya awal untuk elemen apabila ia pertama kali dipaparkan, sesuai untuk dialog, popover dan kandungan dinamik yang lain.

.dialog {
    display: none;
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.3s, opacity 0.3s;
}

@starting-style {
    .dialog {
        transform: translateY(20px);
        opacity: 0;
    }
}

.dialog.open {
    display: block;  /* Will now animate smoothly from the starting style */
}

4. Keupayaan Matematik yang Dipertingkatkan

CSS terus berkembang sebagai bahasa penggayaan yang berkuasa dengan fungsi matematik baharu:

.mathematical {
    /* Rounding numbers */
    width: round(45.6px);           /* 46px */
    height: round(down, 45.6px);    /* 45px */
    margin: round(up, 45.6px);      /* 46px */

    /* Remainder operations */
    padding: rem(17, 5);            /* 2 (remainder of 17÷5) */
    gap: mod(17, 5);               /* Same as rem() */
}

5. Mod Gelap Ringkas dengan terang-gelap()

Pelaksanaan mod gelap menjadi lebih mudah dengan fungsi terang-gelap(). Ciri ini membolehkan anda menentukan nilai berbeza untuk skema warna terang dan gelap tanpa pertanyaan media.

6. Gaya Pengesahan Borang yang Lebih Pintar

Pengesahan borang UX bertambah baik dengan kelas pseudo-pengguna yang sah dan tidak sah pengguna baharu. Tidak seperti pendahulunya (:valid dan :invalid), ini hanya mencetuskan selepas interaksi pengguna, menghalang mesej ralat pramatang.

.centered-content {
    align-content: center;  /* That's it! No flexbox or grid needed */
    block-size: 100vh;
}

7. Terobosan Animasi dengan saiz interpolate

Mungkin penambahan yang paling menarik ialah sifat bersaiz interpolate. Ia menyelesaikan cabaran lama untuk menganimasikan elemen dengan ketinggian dinamik.

/* Old way - limited animation capabilities */
:root {
    --gradient-stop: 50%;
}

/* New way - fully animatable */
@property --gradient-stop {
    syntax: '<percentage>';
    initial-value: 0%;
    inherits: false;
}

.gradient {
    background: linear-gradient(90deg, blue var(--gradient-stop), red);
    transition: --gradient-stop 0.3s;
}

.gradient:hover {
    --gradient-stop: 75%;
}

Memandang ke Hadapan

Ciri-ciri ini hanya mewakili hujung gunung ais. Dengan penambahan hebat lain seperti pertanyaan kontena, subgrid dan pemilih :has, CSS terus berkembang menjadi bahasa yang lebih berkebolehan dan mesra pembangun. Garis dasar CSS moden, disokong oleh semua penyemak imbas utama, membuktikan bahawa CSS bukan sahaja bertahan—ia berkembang maju.

Sudahlah berlalu apabila CSS dilihat sebagai kejahatan yang perlu dalam pembangunan web. Ciri baharu ini menunjukkan komitmen untuk menyelesaikan cabaran pembangun dunia sebenar sambil menjadikan bahasa lebih intuitif dan berkuasa. Semasa kami bergerak ke hadapan, jelas bahawa CSS bukan sahaja berubah—ia merevolusikan cara kami mendekati penggayaan web.

Atas ialah kandungan terperinci CSS Baru Berubah Selamanya: Ciri evolusi yang Anda Perlu Tahu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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