【问题标题】:Adjust width to fill the free space with flex boxes [duplicate]调整宽度以使用弹性框填充可用空间[重复]
【发布时间】:2020-06-30 19:28:03
【问题描述】:

如果无法添加字符框,我正在尝试调整容器的宽度。

IMAGE: Remove the extra right space by resizing the width

这是 HTML

    <section id="list_users">
        <div id="list_users_fill">
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>
            <div class="character" id="me">
                <div class="user_img">
                    <img src="../../assets/images/avatar.jpg">
                </div>
                <div class="user_name">LUCA</div>
            </div>

        </div>
    </section>

还有 CSS

main {
  background: #F5F5F5;
  margin: 20px;
  -webkit-box-shadow: 0 3px 15px 1px rgba(0,0,0,0.05);
  box-shadow: 0 3px 15px 1px rgba(0,0,0,0.05);
  border-radius: 7px;
}

#list_users {
  background: #684D43;
  background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(51, 51, 51, 0.1) 50%, rgba(0, 0, 0, 0.1) 51%, rgba(252, 252, 252, 0) 100%);
  background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(51, 51, 51, 0.1) 50%, rgba(0, 0, 0, 0.1) 51%, rgba(252, 252, 252, 0) 100%);
  background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(51, 51, 51, 0.1) 50%, rgba(0, 0, 0, 0.1) 51%, rgba(252, 252, 252, 0) 100%);
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(51, 51, 51, 0.1) 50%, rgba(0, 0, 0, 0.1) 51%, rgba(252, 252, 252, 0) 100%);
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  border-radius: 7px;
  padding: 10px;
}

#list_users > div {
  background-color: rgba(0,0,0,0.3);
  border-radius: 7px;
  -webkit-box-shadow: inset 0 -1px 3px 3px rgba(0,0,0,0.1);
  box-shadow: inset 0 -1px 3px 3px rgba(0,0,0,0.1);
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto !important;
  padding: 0 10px 10px 10px;
}

.character {
  width: 80px;
  height: 100px;
  background: #684D43;
  border-radius: 3px;
  text-align: center;
  color: #E1DED1;
  text-shadow: 0px 1px 0px rgba(0,0,0,0.6);
  text-transform: uppercase;
  font-weight: bold;
  line-height: 27px;
  margin: 10px 10px 0 0;
}

.user_img img{
  margin-top: 3px;
  width: 70px;
  height: 70px;
  border-radius: 3px;
}

但是尝试了所有关于 flex box 或 width 属性的东西。我不知道这是否可能,但我不认为。我只是失去了一些可以帮助我的细节。 告诉我,谢谢!

【问题讨论】:

    标签: html css flexbox width


    【解决方案1】:

    如果您想让图像空间均匀并居中对齐,请尝试以下操作:justify-content: space-evenly

    【讨论】:

    • 这不是我想要的,我需要调整包含这个字符的框的宽度。
    • 您是否尝试过将宽度用作百分比?我不完全理解你的问题对不起。也许您可以尝试使用媒体查询
    • 好的,我想通过这些图片来展示我想要的东西:i.imgur.com/tZ63iL0.pngi.imgur.com/YuGjebg.pngi.imgur.com/HBvO7Ym.png你能看到右边的不同空间吗?我需要调整框的大小以消除这些空格
    • 尝试将包含每个图像的容器设置为具有百分比的宽度。然后我会尝试使用 justify-content: space-evenly。希望这会有所帮助。
    【解决方案2】:

    解决方法是使用flex: 1min-widthmax-width
    因此,您可以按照自己的方式更好地调整它。

    .character {
        min-width: 80px;
        max-width: 100px;
        flex: 1;
        height: 100px;
        background: #684D43;
        border-radius: 3px;
        text-align: center;
        color: #E1DED1;
        text-shadow: 0px 1px 0px rgba(0,0,0,0.6);
        text-transform: uppercase;
        font-weight: bold;
        line-height: 27px;
        margin: 10px 10px 0 0;
    }
    

    【讨论】:

    • 我需要在每次调整页面大小时调整包含此字符的框的宽度,而不会留下多余的右侧空间。
    • 如果您检查标记为重复的答案,这似乎是不可能的,但由于您使用的是固定宽度,也许媒体查询可以为您工作,即使它有点冗长。
    猜你喜欢
    • 1970-01-01
    • 2010-12-07
    • 2021-12-01
    • 1970-01-01
    • 2020-03-09
    • 2015-02-06
    • 2010-11-06
    • 2011-02-28
    • 1970-01-01
    相关资源
    最近更新 更多