在此片段中,By date行分为两行,第一行是"最近的优先",第二行是"最古老的优先".

我用了.list-inline试图将这些物品强制放在一行上,但它仍然包裹着.

如何使其只有两行,就像这样:

    By title:  A-Z     Z-A
    By a much 
longer field:  Recent first    Oldest first

请注意,左侧列大小相等且向右对齐.无论列的宽度如何,情况都应该如此.包裹左侧栏是可以的.如果包装,右侧列值应与中间垂直对齐(上面未表示).

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet"/>
<div class="btn-group">
    <button class="btn btn-primary-soft btn-sm dropdown-toggle show" type="button" data-bs-toggle="dropdown" aria-expanded="true">
        <i class="fa-solid fa-fw fa-sort me-1"></i>
        <span> By title: A-Z  </span> 
    </button>
    <div class="dropdown-menu" data-popper-placement="bottom-start">
        <div class="row">
            <div class="dropdown-item-text col-4 text-end pe-0 fw-bold">By Title:</div>
            <div class="col">
                <ul class="list-inline">
                    <li class="list-inline-item">
                        <a type="button" rel="sort-by" class="dropdown-item link-primary ps-2 pe-2  disabled active">A-Z</a>
                    </li>
                    <li class="list-inline-item">
                        <a rel="sort-by" class="dropdown-item link-primary ps-2 pe-2 text-decoration-underline" href="javascript:;" type="button">Z-A</a>
                    </li>
                </ul>
            </div>
        </div>
        <div class="row">
            <div class="dropdown-item-text col-4 text-end pe-0 fw-bold">By a much longer field:</div>
            <div class="col">
                <ul class="list-inline">
                    <li class="list-inline-item">
                        <a rel="sort-by" class="dropdown-item link-primary sort-link ps-2 pe-2  text-decoration-underline" href="javascript:;" type="button">Recent first</a>
                    </li>
                    <li class="list-inline-item">
                        <a rel="sort-by" class="dropdown-item link-primary sort-link ps-2 pe-2  text-decoration-underline" href="javascript:;" type="button">Oldest first</a>
                    </li>
                </ul>
            </div>
        </div>
    </div>
</div>

我try 过玩Flex和nowrap类,但没有效果-可以使条目存在于一行上,但问题似乎是.dropdown-menu .row个元素的宽度没有扩展以容纳其中的所有内容,所以它溢出.

推荐答案

在第一个分区上添加div class="dropdown-menu"

width: max-content

然后我将.row > *的最大宽度从.row > *%更改为

.row > * {
    ...
    max-width: fit-content;
    ...
}

第二个更改适用于 bootstrap 程序,因此您需要!important.

.dropdown-menu { width: max-content }
.row > * { max-width: fit-content !important; }
/* Remove width from columns. */
div[class^="col-"], div[class*=" col-"] { width: auto !important; }
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet"/>
<div class="btn-group">
    <button class="btn btn-primary-soft btn-sm dropdown-toggle show" type="button" data-bs-toggle="dropdown" aria-expanded="true">
        <i class="fa-solid fa-fw fa-sort me-1"></i>
        <span> By title: A-Z  </span> 
    </button>
    <div class="dropdown-menu" data-popper-placement="bottom-start">
        <div class="row">
            <div class="dropdown-item-text col-4 text-end pe-0 fw-bold">By Title:</div>
            <div class="col">
                <ul class="list-inline">
                    <li class="list-inline-item">
                        <a type="button" rel="sort-by" class="dropdown-item link-primary ps-2 pe-2  disabled active">A-Z</a>
                    </li>
                    <li class="list-inline-item">
                        <a rel="sort-by" class="dropdown-item link-primary ps-2 pe-2 text-decoration-underline" href="javascript:;" type="button">Z-A</a>
                    </li>
                </ul>
            </div>
        </div>
        <div class="row">
            <div class="dropdown-item-text col-4 text-end pe-0 fw-bold">By very long datum:</div>
            <div class="col">
                <ul class="list-inline">
                    <li class="list-inline-item">
                        <a rel="sort-by" class="dropdown-item link-primary sort-link ps-2 pe-2  text-decoration-underline" href="javascript:;" type="button">Recent first</a>
                    </li>
                    <li class="list-inline-item">
                        <a rel="sort-by" class="dropdown-item link-primary sort-link ps-2 pe-2  text-decoration-underline" href="javascript:;" type="button">Oldest first</a>
                    </li>
                </ul>
            </div>
        </div>
    </div>
</div>

Html相关问答推荐

一次悬停可触发同一分区中的另一次悬停

如何通过将项目包裹在迪夫中来保持最右列的对齐方式来对齐项目?

如何格式化HTML文本,使其环绕关键字

有没有可能一个按钮,有焦点,然后再次点击它清除它的焦点,只是使用css?

Font Awesome 6插入符号未显示

使用网格时图像溢出容器高度

在<;style&>中列出的三种字体中,只有两种显示

穿过整个屏幕的旋转线

HTML 邮箱在 Gmail 中无法正确显示

在 WooCommerce 存档产品类别描述上添加阅读更多/阅读更少按钮

如何使元素具有粘性

网格项未在同一行上对齐

无法在 CSS 中将 h1 标签居中

如何影响 HTML 元素的哪些子元素导致其增长,哪些不增长?

如何将一个边框向下移动

如何为Vuetify输入控件减小标签和字段之间的间距?

增加第一个字母的大小不再正确居中文本

如何并排放置
的定义列表,但如果
变长,
会向下移动?

右对齐 bootstrap 导航项而不是下拉菜单

是否可以使用纯 css 创建具有斜角效果的锯齿形边缘?