我有一个 bootstrap 下拉列表,在按钮上,我有一个文本和一个图标.我想要的是将文本一直向左对齐,并将图标一直向右对齐,而无需将按钮与其他元素对齐.提前谢谢.

.dropdown {
  display: flex;
  width: 40%;
  height: 10vh;
  border: none;
}

.dropdown button {
  font-size: 1.8vw;
  color: #ffffff;
  width: 100%;
  height: 100%;
  border: none;
}

.dropdown button i {
  font-size: 1.8vw;
  margin: auto;
}

.dropdown button::after {
  display: none;
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v6.0.0/css/all.css" integrity="sha384-3B6NwesSXE7YJlcLI9RpRqGf2p/EgVH8BgoKTaUrmKNDkHPStTQ3EyoYjCGXaOTS" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>

<div class="dropdown">
    <button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
        drop me
        <i class="fa-solid fa-angle-down"></i>
    </button>
    <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
        <li><a class="dropdown-item" href="#">Action</a></li>
        <li><a class="dropdown-item" href="#">Another action</a></li>
        <li><a class="dropdown-item" href="#">Something else here</a></li>
    </ul>
</div>

推荐答案

大多数CSS都是不需要的,您可以使用一些bootstrap的实用程序类来实现预期的结果.

  • 您不必使用.dropdown button::after{}来删除 bootstrap 程序的默认下拉插入符号.只需从按钮上取下.dropdown-toggle即可.
  • 然后可以使用这个d-flex justify-content-between align-items-center类来对齐文本和图标.

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v6.0.0/css/all.css" integrity="sha384-3B6NwesSXE7YJlcLI9RpRqGf2p/EgVH8BgoKTaUrmKNDkHPStTQ3EyoYjCGXaOTS" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>

<div class="dropdown">
    <button class="btn btn-secondary w-100 d-flex justify-content-between align-items-center" type="button" data-bs-toggle="dropdown">
        drop me
        <i class="fa-solid fa-angle-down"></i>
    </button>
    <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
        <li><a class="dropdown-item" href="#">Action</a></li>
        <li><a class="dropdown-item" href="#">Another action</a></li>
        <li><a class="dropdown-item" href="#">Something else here</a></li>
    </ul>
</div>

Html相关问答推荐

将容器水平偏离中心放置在桌面上;在移动设备上平稳地集中缩小规模

html中背景色的全单元格R中的Rmarkdown表

有没有一种方法可以用css和html在桌面上并排显示列,在移动设备上显示一个下方的列?

Select 包含iframe的图形<><>

悬停时跳转的内容

如何将FlexBox项目zoom 到其包含图像的大小

如何从ThymeLeaf模板中分离CSS

如何使我的组织 struct 图的连接线响应?

防止SVG边框半径zoom

如何在 Bootstrap 5 中将两个导航栏元素放在末尾?

为什么我不能覆盖 div 的样式?

MUI 日期 Select 器要包含的日期

如何在Rmarkdown中添加千位分隔符?

BeautifulSoup用名称列表的findall无法找到另一个目标后面的目标

调整屏幕大小时标题在图像下方重叠 - HTML

为四开本网站主页添加背景图片

使用 TailwindCSS 将徽标放在左上角,将菜单放在右上角

每次按下按钮时减小字体大小的 jquery 函数

样式不适用于来自 tailwindcss 的网络

让 Bootstrap 5 模式和背景占据父容器的宽度和高度,而不是全屏