首页 > 解决方案 > 调整大小时图像问题不会转到下一列

问题描述

编程新手,这个一直困扰着我很长一段时间。调整浏览器大小时,图像不会在.text课程之后进入下一行,而是超出页面并向右移动。这是相关的html和css:

    main{
        display: flex;
        position: relative;
        justify-content: space-between;
    }


    #image{
        height: 80vh;
        box-shadow: 8px 3px 10px gray;
        margin: 10px;
        border-radius: 1%;
    }

    .text{
        animation: fade-in;
        animation-duration: 2s;
        margin-left: 20px;
        padding-left: 40px;
        margin-right: 10px;
        padding-bottom: 20px;
        margin-bottom: 20px;

    @media screen and (max-width: 500px){
        .main{
            position: static;
            flex-direction: column;
            box-sizing: unset;
        }

        #image{
            display: block;
            position: static;        
        }
 
 <main>
        <div class="text">
            <h1></h1>
            <p></p>
            <p></p>
            <button </button>
            <button </button>
        </div>

        <img id="image" src="/images/image1.jpg" alt="">  
    </main>
    

标签: htmlcss

解决方案


您需要 >flex-wrap: wrap作为main元素。因为,默认情况下,display: flex它将所有子元素放在一行中,在您指定之前不允许它们换行。

此外,对于@media screen,您编写了 .main 并且它应该只是 main,因为它不是一个类。


推荐阅读