Jadual Kandungan
:empty
Salin selepas log masuk
Salin selepas log masuk
 区分空元素" >用 
:empty
Salin selepas log masuk
Salin selepas log masuk
 区分空元素
:*-Of-Type
Salin selepas log masuk
 选择元素" >用 
:*-Of-Type
Salin selepas log masuk
 选择元素
calc
Salin selepas log masuk
 做流式布局" >用 
calc
Salin selepas log masuk
 做流式布局
vw
Salin selepas log masuk
Salin selepas log masuk
 和 
vh
Salin selepas log masuk
Salin selepas log masuk
 做全屏滚动效果" >用 
vw
Salin selepas log masuk
Salin selepas log masuk
 和 
vh
Salin selepas log masuk
Salin selepas log masuk
 做全屏滚动效果
unset
Salin selepas log masuk
 做 CSS Reset" >用 
unset
Salin selepas log masuk
 做 CSS Reset
column
Salin selepas log masuk
 做响应式的列布局" >用 
column
Salin selepas log masuk
 做响应式的列布局
Rumah hujung hadapan web tutorial css 有关CSS的高级布局技巧

有关CSS的高级布局技巧

Mar 14, 2017 am 11:36 AM

随着 IE8 逐渐退出舞台,很多高级的 CSS 特性都已被浏览器原生支持,再不学下就要过时了。

用 
:empty
Salin selepas log masuk
Salin selepas log masuk
区分空元素

兼容性:不支持 IE8
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Demo
假如我们有以上列表:

a


b



我们希望可以对空元素和非空元素区别处理,那么有两种方案。

:empty
Salin selepas log masuk
Salin selepas log masuk

选择空元素:
.item:empty {
display: none;
}
或者用

:not(:empty)
Salin selepas log masuk

选择非空元素:
.item:not(:empty) {
border: 1px solid #ccc;
/* ... */
}

:*-Of-Type
Salin selepas log masuk
选择元素

兼容性:不支持 IE8
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

举例说明。
给第一个 p 段落加粗:
p:first-of-type {
font-weight: bold;
}
给最后一个 img 加边框:
img:last-of-type {
border: 10px solid #ccc;
}
给无相连的 blockquote 加样式:

blockquote:only-of-type {
border-left: 5px solid #ccc;
padding-left: 2em;
}
让奇数列的 p 段落先死红色:

p:nth-of-type(even) {
color: red;
}
此外,

:nth-of-type
Salin selepas log masuk

还可以有其他类型的参数:

/* 偶数个 */
:nth-of-type(even)

/* only 第三个 */
:nth-of-type(3)

/* 每第三个 */
:nth-of-type(3n)

/* 每第四加三个,即 3, 7, 11, ... */
:nth-of-type(4n+3)

calc
Salin selepas log masuk
做流式布局

兼容性:不支持 IE8
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Demo
左中右的流式布局:

nav {
position: fixed;
left: 0;
top: 0;
width: 5rem;
height: 100%;
}
aside {
position: fixed;
right: 0;
top: 0;
width: 20rem;
height: 100%;
}

main {
margin-left: 5rem;
width: calc(100% - 25rem);
}

vw
Salin selepas log masuk
Salin selepas log masuk
vh
Salin selepas log masuk
Salin selepas log masuk
做全屏滚动效果

兼容性:不支持 IE8
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


Demo

vw
Salin selepas log masuk
Salin selepas log masuk

vh
Salin selepas log masuk
Salin selepas log masuk

是相对于 viewport 而言的,所以不会随内容和布局的变化而变。

section {
width: 100vw;
height: 100vh;

display: flex;
align-items: center;
justify-content: center;
text-align: center;

background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
}

section:nth-of-type(1) {
background-image: url('https://unsplash.it/1024/683?image=1068');
}
section:nth-of-type(2) {
background-image: url('https://unsplash.it/1024/683?image=1073');
}
section:nth-of-type(3) {
background-image: url('https://unsplash.it/1024/683?image=1047');
}
section:nth-of-type(4) {
background-image: url('https://unsplash.it/1024/683?image=1032');
}

body {
margin: 0;
}
p {
color: #fff;
font-size: 100px;
font-family: monospace;
}

unset
Salin selepas log masuk
做 CSS Reset

兼容性:不支持 IE
Salin selepas log masuk


Demo

body {
color: red;
}
button {
color: white;
border: 1px solid #ccc;
}

/* 取消 section 中 button 的 color 设置 */
section button {
color: unset;
}

column
Salin selepas log masuk
做响应式的列布局

兼容性:不支持 IE9
Salin selepas log masuk


Demo

nav {
 column-count: 4;
 column-width: 150px;
 column-gap: 3rem;
 column-rule: 1px dashed #ccc;
 column-fill: auto;
}

h2 {
 column-span: all;
}
(完)

Atas ialah kandungan terperinci 有关CSS的高级布局技巧 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Menambah bayang -bayang kotak ke blok dan elemen WordPress Menambah bayang -bayang kotak ke blok dan elemen WordPress Mar 09, 2025 pm 12:53 PM

CSS box-shadow dan garis besar sifat mendapat tema.json Sokongan dalam WordPress 6.1. Let ' s melihat beberapa contoh bagaimana ia berfungsi dalam tema sebenar, dan pilihan apa yang kita perlu gunakan gaya ini ke blok dan elemen WordPress.

Bekerja dengan Caching Graphql Bekerja dengan Caching Graphql Mar 19, 2025 am 09:36 AM

Sekiranya anda baru -baru ini mula bekerja dengan GraphQL, atau mengkaji semula kebaikan dan keburukannya, anda tidak akan ragu -ragu mendengar perkara seperti "Graphql tidak menyokong caching" atau

Menjadikan Peralihan Svelte Khas pertama anda Menjadikan Peralihan Svelte Khas pertama anda Mar 15, 2025 am 11:08 AM

API Peralihan Svelte menyediakan cara untuk menghidupkan komponen apabila mereka memasuki atau meninggalkan dokumen, termasuk peralihan svelte adat.

CSS Scrollbars Custom Custom: Pameran CSS Scrollbars Custom Custom: Pameran Mar 10, 2025 am 11:37 AM

Dalam artikel ini kita akan menyelam ke dunia scrollbars. Saya tahu, ia tidak terdengar terlalu glamor, tetapi percayalah, halaman yang direka dengan baik

Tunjukkan, jangan beritahu Tunjukkan, jangan beritahu Mar 16, 2025 am 11:49 AM

Berapa banyak masa yang anda habiskan untuk merancang persembahan kandungan untuk laman web anda? Semasa anda menulis catatan blog baru atau membuat halaman baru, adakah anda memikirkan

Membina aplikasi Ethereum menggunakan redwood.js dan fauna Membina aplikasi Ethereum menggunakan redwood.js dan fauna Mar 28, 2025 am 09:18 AM

Dengan pendakian harga bitcoin baru -baru ini lebih dari 20k $ USD, dan baru -baru ini melanggar 30k, saya fikir ia patut mengambil menyelam yang mendalam kembali ke dalam mewujudkan Ethereum

Apa yang ada perintah npm? Apa yang ada perintah npm? Mar 15, 2025 am 11:36 AM

Perintah NPM menjalankan pelbagai tugas untuk anda, sama ada sebagai satu-satunya atau proses berjalan terus untuk perkara seperti memulakan pelayan atau menyusun kod.

Mari kita gunakan (x, x, x, x) untuk bercakap mengenai kekhususan Mari kita gunakan (x, x, x, x) untuk bercakap mengenai kekhususan Mar 24, 2025 am 10:37 AM

Saya hanya berbual dengan Eric Meyer pada hari yang lain dan saya teringat cerita Eric Meyer dari tahun -tahun pembentukan saya. Saya menulis catatan blog mengenai kekhususan CSS, dan

See all articles