a
b
Nous espérons traiter différemment les éléments vides et les éléments non vides, il y a donc deux"/> a
b
Nous espérons traiter différemment les éléments vides et les éléments non vides, il y a donc deux">

Maison  >  Article  >  interface Web  >  Techniques de mise en page avancées avec CSS

Techniques de mise en page avancées avec CSS

巴扎黑
巴扎黑original
2017-03-14 11:36:101605parcourir

Au fur et à mesure qu'IE8 se retire du stade , de nombreuses fonctionnalités CSS avancées ont été nativement prises en charge par les navigateurs et deviendront obsolètes si elles ne sont pas apprises.

Utilisez
:empty
pour distinguer les éléments vides

兼容性:不支持 IE8

Démo
Supposons que nous ayons la liste ci-dessus :
b62caee2527db9e0884616776ccbf4ef a6fb279ad3fd4344cbdd93aac6ad173ac
b62caee2527db9e0884616776ccbf4efb94b3e26ee717c64999d7867364b1b4a3
b62caee2527db9e0884616776ccbf4ef94b3e26ee717c64999d7867364b1b4a3
Nous espérons pouvoir gérer les éléments vides et les éléments non vides sont traités différemment, il existe donc deux options.
Utilisez

:empty

pour sélectionner des éléments vides :
.item:empty {
affichage : aucun;
}
ou utilisez

:not(:empty)

Sélectionnez les éléments non vides :
.item:not(:empty) {
border: 1px solid #ccc;
/* .. .* /
}

Utilisez
:*-Of-Type
pour sélectionner l'élément

兼容性:不支持 IE8

par exemple.
Gras le premier paragraphe p :
p:first-of-type {
font-weight: bold;
}
Ajouter un border to the last img :
img:last-of-type {
border: 10px solid #ccc;
}
Ajouter un style à la citation de bloc non connectée :

blockquote:only-of-type {
border-left: 5px solid #ccc;
padding-left: 2em;
}
Laissez le p paragraphe de la colonne impaire mourir en rouge en premier :

p:nth-of-type(even) {
color: red;
}
De plus,

:nth-of-type

peut également avoir d'autres types de paramètres :

/* nombre pair*/
:nth-of-type(pair)

/* uniquement le troisième */
:nth-of-type(3)

/* tous les trois */
:nth-of-type(3n)

/* tous les trois Quatre plus trois, c'est-à-dire 3, 7, 11, ... */
:nth-of-type(4n 3)

Utilisez
calc
pour la disposition du flux

兼容性:不支持 IE8

Démo
Disposition du flux à gauche, au centre et à droite :

nav {
position : fixe ;
gauche : 0;
haut: 0;
largeur: 5rem;
hauteur: 100%;
}
à côté {
position: fixe ;
droite: 0;
haut: 0;
largeur: 20rem;
hauteur: 100%;
}

principal {
marge-gauche: 5rem;
width: calc(100% - 25rem);
}

Utilisez
vw
et
vh
faire un effet de défilement plein écran

兼容性:不支持 IE8


Démo

vw

et

vh

sont relatifs au viewport , elle ne changera donc pas avec les changements de contenu et de mise en page.

section {
largeur : 100vw;
hauteur : 100vh;

affichage : flex;
aligner les éléments : centre;
justeify-content: center;
text-align: center;

background-size: cover;
background-repeat  : pas de répétition ;
pièce jointe en arrière-plan : corrigé ;
}

section : nième de type (1) {
image d'arrière-plan : 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) {
image d'arrière-plan : url('https://unsplash.it/1024/683?image=1047');
>
section:nth-of-type(4) {
image d'arrière-plan : url('https://unsplash.it/1024/683?image=1032');
}

corps {
marge : 0;
}
p {
couleur : #fff;
font-size: 100px;
font-family: monospace;
}

用 
unset
 做 CSS Reset

兼容性:不支持 IE


Demo

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

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

用 
column
 做响应式的列布局

兼容性:不支持 IE9


Demo

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

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Analyse de l'héritage CSSArticle suivant:Analyse de l'héritage CSS