【求助】css grid布局问题?

问题1:
box1为grid-template-columns: repeat(auto-fill, 20; grid-row-gap: 20px;的情况下没有办法1行5个?
如下图:

问题2:
box2为grid-template-columns: auto auto auto auto auto;的情况下,li不足5个是,li的宽度会增多?
如下图:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>html</title>
    <style>
        ul,li {
            padding: 0;
            margin: 0;
            list-style-type: none;
        }
        .box1 {
            margin: 0 auto;
            background: green;
            width: 500px;
            display: grid;
            grid-auto-flow: row;
            grid-template-columns: repeat(auto-fill, 20%);
            grid-row-gap: 20px;
            grid-column-gap: 20px;
        }
        .box1 li {
            background-color: red;
        }
        .box2 {
            margin: 20px auto;
            background: green;
            width: 500px;
            display: grid;
            grid-auto-flow: row;
            grid-template-columns: auto auto auto auto auto;
            grid-row-gap: 20px;
            grid-column-gap: 20px;
        }
        .box2 li {
            background-color: red;
        }
    </style>
</head>
<body>  
    <ul class="box1">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
        <li>10</li>
    </ul>
    <ul class="box2">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
        <li>10</li>
    </ul>
    <ul class="box2">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>
</body>

</html>
阅读 1.3k
1 个回答

这样?

grid-template-columns: repeat(auto-fit, calc((100% - 4 * 20px) / 5));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题