Flex-grow n'étend pas les divs enfants
P粉388945432
P粉388945432 2024-02-03 18:18:58
0
1
332

Je suis nouveau en CSS et j'ai besoin d'aide pour résoudre un problème. Pourquoi flex-grow n'étend-il pas le div block__column_2 jusqu'à la fin de l'écran ? Selon la théorie du curriculum, ce comportement devrait être attendu. S'il vous plaît, dites-moi qu'est-ce que je fais de mal ?

Un exemple de code est présenté ci-dessous. index.html + style.css

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>flexbox</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="wrapper">
        <div class="block">
            <div class="block__row">
                <div class="block__column block__column_1">
                    <div class="block__item">1</div>
                </div>
                <div class="block__column">
                    <div class="block__item block__column_2">2
                        <br>Более высокий блок
                    </div>
                </div>
                <div class="block__column block__column_3">
                    <div class="block__item">3</div>
                </div>
            </div>
        </div>
    </div>
    
</body>
</html>

.wrapper{
    height: 100%;
    overflow: hidden;
    min-height: 100%;
    padding: 50px;
}
body{
    font-family: Arial, Helvetica, sans-serif;
}
    
.block__row{
    border: 20px solid #ece89d;
    margin: 0px 0px 20px 0px;
    display: flex;
    flex-direction: column;
    height: 1024px;
    align-items: stretch;       
}

.block__column{
border: 20px solid #5e5373;
}

.block__column_1{}
.block__column_2{  
    flex-grow: 1;
    flex-basis: auto; 
}
.block__column_3{}

.block__item{
    background-color: #18b5a4;
    padding: 50px;
    font-size: 50px;
    color: #fff;
    font-weight: 700;
text-align: center;
}

P粉388945432
P粉388945432

répondre à tous(1)
P粉323050780

Supprimez la classe block__column_2 de div.block__item et ajoutez-la à div.black_column
et ajoutez display:flex pour block__column L'attribut display: block sur l'élément parent empêche flex-grow d'avoir un effet. Essayez de définir la propriété display: block sur le parent pour display: flex. et ajoutez width:100%; à .block__item

2
Более высокий блок
.block__column{ border: 20px solid #5e5373; display: flex; } .block__column_1, .block__column_3{ flex-grow: 0; } .block__column_2{ flex-grow: 1; } .block__item{ background-color: #18b5a4; padding: 50px; font-size: 50px; color: #fff; font-weight: 700; text-align: center; width: 100%; }
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal