Valeur de la propriété CSS position: static

Propriété CSS position


position: staticest la valeur par défaut de la propriété de positionnement CSS.

Lorsque la valeur d'un élémentpositionest définie surstaticlorsque l'élément suivra leflux normaldu document, arranger,non affecté top、right、bottom、leftetz-indexl'influence de propriétés de positionnement telles que.

En d'autres termes,staticsignifie qu'aucun positionnement spécial n'est appliqué ; l'élément reste simplement là où il se trouve naturellement.

Définitions de mots:staticDu latinstaticus, signifiant « stationnaire, immobile », indique que l'élément reste dans sa position d'origine.


Syntaxe de base

position: staticest la valeur la plus simple et la plus basique de la propriété de positionnement CSS.

/* 语法 */
position: static;

/* 实际示例 */
.box {
    position: static;
}

Description de la propriété

Valeur de la propriété Description
static La valeur par défaut ; les éléments sont positionnés selon le flux normal du document et ne sont pas affectés par les propriétés de positionnement.

Effet des propriétés de positionnement associées sur static

Propriété Effet sur les éléments static
top Invalide, ne produit aucun effet de positionnement
right Invalide, ne produit aucun effet de positionnement
bottom Invalide, ne produit aucun effet de positionnement
left Invalide, ne produit aucun effet de positionnement
z-index Invalide, impossible de définir manuellement l'ordre d'empilement

Exemple

Comprenons à travers des exemplesposition: staticLe comportement.

Exemple 1 : static est la méthode de positionnement par défaut.

Même s'il n'est pas explicitement définiposition: static, les éléments sont positionnés en static par défaut. Comparons :

Exemple

<!DOCTYPE html>
<html>
<head>
    <style>
/* Styles du conteneur : définir l'arrière-plan et le padding pour faciliter l'observation */
        .container {
            padding: 20px;
            background-color: #f5f5f5;
            border: 2px solid #ddd;
        }

/* Trois blocs div, la valeur par défaut est le positionnement static */
        .box {
            padding: 15px;
            margin: 10px 0;
            background-color: #3498db;
            color: white;
            border-radius: 4px;
        }

/* La deuxième boîte tente de se positionner en utilisant la propriété top (non valide pour static) */
        .box-2 {
position: static; /* Une déclaration explicite est également static */
top: 100px; /* Cette propriété n'aura aucun effet */
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="box">Première boîte (static par défaut)</div>
        <div class="box box-2">Deuxième boîte (static explicite + top:100px)</div>
        <div class="box">Troisième boîte (static par défaut)</div>
    </div>
</body>
</html>

Description de l'effet :

vous constaterez que la deuxième boîte ne le fait pas à cause detop: 100pxdescendre. C'est parce questaticles éléments positionnés ignorent complètementtop、right、bottom、leftces propriétés de positionnement.

Exemple montrant z-index

Dans le flux normal du document, l'ordre d'empilement des éléments est déterminé par leur ordre dans le document HTML.z-indexNous ne pouvons pas utiliser z-index pour modifier cet ordre :

Exemple

<!DOCTYPE html>
<html>
<head>
    <style>
        .container {
position: relative; /* défini comme référence */
            height: 150px;
            background-color: #f0f0f0;
        }

        .box {
            width: 100px;
            height: 100px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
        }

/* trois boîtes apparaissent en séquence */
        .box-1 {
background-color: #e74c3c; /* rouge */
position: static; /* positionnement par défaut */
z-index: 999; /* invalide ! */
        }

        .box-2 {
background-color: #2E7DCC; /* vert */
            position: static;
margin-top: -30px; /* créer un chevauchement avec une marge négative */
            margin-left: 60px;
        }

        .box-3 {
background-color: #9b59b6; /* violet */
            position: static;
            margin-top: -30px;
            margin-left: 120px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="box box-1">Boîte 1 (z-index:999)</div>
        <div class="box box-2">Boîte 2</div>
        <div class="box box-3">Boîte 3</div>
    </div>
    <p>Même si la Boîte 1 est définie sur z-index: 999, comme elle est positionnée de manière statique, z-index n'a aucun effet.</p>
    <p>L'ordre d'empilement final reste le suivant : les éléments ultérieurs sont au-dessus (la Boîte 3 est la plus haute, la Boîte 1 est la plus basse).</p>
</body>
</html>

Cas d'utilisation

Bien queposition: staticIl semble "ne rien faire", mais il est utile dans les scénarios suivants :

Scénario 1 : Réinitialiser le positionnement

Lorsque vous devez annuler un effet de positionnement précédemment défini, vous pouvez définirpositionRevenir en arrièrestatic:

/* 之前可能是 relative、absolute ou  fixed */
.sidebar {
    position: fixed;
    top: 0;
}

/* 现在需要取消固定定位,恢复正常布局 */
.sidebar {
    position: static;  /* 移除固定定位效果 */
}

Scénario 2 : comme référence pour les éléments enfants positionnés.

Bien questaticlui-même n'est pas positionné, mais il peut servir decontexte de positionnementde la "référence" :

/* 父元素设置为 relative,虽然它自己可能是 static */
.parent {
    position: relative;  /* 创建新的定位上下文 */
}

/* 子元素 absolute 会相对于这个 parent 定位 */
.child {
    position: absolute;
    top: 10px;
    left: 10px;
}

Scénario 3 : débogage et tests

Pendant le développement, si vous ne savez pas pourquoi un élément est positionné, vous pouvez d'abord le remettre àstaticpour diagnostiquer :

.debug-element {
    position: static;  /* 临时设为 static 看原始位置 */
}

Notes

Idées fausses courantes :De nombreux débutants essaieront d'utilisertop: 0、left: 0des propriétés comme celles-ci pour "réinitialiser" l'élément dans le coin supérieur gauche, mais ces propriétés n'ont aucun effet surstaticles éléments du tout. Si vous avez besoin d'un tel effet, vous devriez utiliserrelative、absoluteoufixedle positionnement.

Comparaison avec d'autres valeurs de positionnement

valeur de position S'il est hors du flux du document S'il est affecté par top/right/bottom/left Prend en charge le z-index
static Non, conserve la mise en page normale non non
relative Non, mais il peut être décalé Oui, décalé par rapport à sa position d'origine Oui
absolute Oui, en dehors du flux du document Oui, par rapport à l'ancêtre positionné le plus proche Oui
fixed Oui, en dehors du flux du document Oui, positionné par rapport à la fenêtre d'affichage Oui
sticky Oui, fixé après avoir défilé jusqu'au seuil Oui, définit la position du seuil Oui

Résumé

position: staticest la base du positionnement CSS ; comprendre son comportement est essentiel pour maîtriser les autres méthodes de positionnement.

Retenez les points clés suivants :

  • staticOuipositionLa valeur par défaut de la propriété
  • staticLes éléments se disposent selon le flux normal du document
  • top、right、bottom、leftpaire de propriétésstaticélémentInvalide
  • z-indexpaire de propriétésstaticélémentInvalide
  • est couramment utilisé pour réinitialiser le positionnement ou comme base de référence pour le contexte de positionnement.

Propriété CSS position

autres extensions