0

您好,最近我开始使用 css 的 display:grid,因为它提供了更大的灵活性。手头的问题是我使用嵌套网格,并且它们不适合示例中提供的彼此。在下面的图像中,绿色网格应该适合红色网格左列,但它不适合。我不明白为什么它会这样。你能提供一些解释吗?

@import url('https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,800,900&display=swap');
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins',sans-serif;
    font-size: 10px;
}

body{
    background: lightblue;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column;
   
    margin: 50px;
}

/* 595 x 842 px. 72ppi */
/* 96 PPI – 794 x 1123 
/*150 PPI – 1240 x 1754 */
.container{
    display: grid;
    grid-template-columns: 25% 75%;
    grid-template-rows: 100%;
    grid-template-areas: "left right";
    grid-gap: 10px;
    min-height: 842px;height: 842px;
    min-width:595px;width: 595px;
    background-color:white;
    padding-top: 75px;
    padding-left: 50px;
    padding-right: 50px;
    padding-bottom: 50px;
   
}

    .left{
        grid-area: left;
        display: grid;
        grid-template-areas: 
        "contact"
        "skills"
        "skills"
        "skills"
        "languages";
        grid-gap: 10px;
        font-size:1rem;

    }

        .contact{
            grid-area: contact;
            word-wrap: break-word;
       
        }

        .contact>h2::before{
            content: "\2022";
        }


        .skills{
            grid-area: skills;
        }

        .languages{
            grid-area: languages;
        }


    .right{
        grid-area: right;
        display: grid;
        grid-template-areas:
        "intro"
        "history"
        "history"
        "history"
        "education"
        "about";
        grid-gap: 10px;
    }

        .intro{
            grid-area: intro;
            display: grid;
            grid-template-areas: 
            "photo name name name"
            "content content content content";
        }

            .photo{
                grid-area: photo;
            }

            .name{
                grid-area: name;
            }

            .content{
                grid-area: content;
            }

            
        .history{
            grid-area: history;
        }

        .education{
            grid-area: education;
        }

        .about{
            grid-area: about;
        }
<!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">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css">
    <link rel="stylesheet" type="text/css" href="index.css">
    <title>Document</title>
</head>
<body>
    <div class="container">
        <div class="left">
            <div class="contact">
                <h2>Contact</h2>
                <p>
                    <span class="fa-stack fa-sm">
                        <i class="fa fa-circle fa-stack-2x" style="color:rgb(0, 100, 230);"></i>
                        <i class="fa fa-flag fa-stack-1x fa-inverse"></i>
                    </span>
                    124124124124
                </p> 

                <p>
                    <span class="fa-stack fa-sm">
                        <i class="fa fa-circle fa-stack-2x" style="color:rgb(0, 100, 230);"></i>
                        <i class="fa fa-flag fa-stack-1x fa-inverse"></i>
                    </span>
                    124124124214
                </p> 

                <p>
                    <span class="fa-stack fa-sm">
                        <i class="fa fa-circle fa-stack-2x" style="color:rgb(0, 100, 230);"></i>
                        <i class="fa fa-flag fa-stack-1x fa-inverse"></i>
                    </span>
                    111111111111111111111111111112222222222222222222222211111111111
                </p> 
                
                <p>
                    <span class="fa-stack fa-sm">
                        <i class="fa fa-circle fa-stack-2x" style="color:rgb(0, 100, 230);"></i>
                        <i class="fa fa-flag fa-stack-1x fa-inverse"></i>
                    </span>
                    12312412412412412414
                </p> 
            </div>
            <div class="skills"></div>
            <div class="languages"></div>
        </div>
        <div class="right">
            <div class="intro">
                <div class="photo"></div>
                <div class="name"></div>
                <div class="content"></div>
            </div>
            <div class="history"></div>
            <div class="education"></div>
            <div class="about"></div>
        </div>
    </div>   
</body>
</html>

4

1 回答 1

1

这里的主要问题是您的长 p 标签。我不认为这是您的目标内容。简单地说,当你有“正常”的单词时,你可以使用“word-wrap:wrap;” 但是在有很多数字的情况下,您可以简单地在 文本中使用<br>标签。<p>

jsfiddle

于 2021-09-03T17:17:38.230 回答