javascript - 随内容增加元素宽度,否则宽度相等 - CSS

标签 javascript html css typescript

我正在尝试在 Angular 7 的 mat-button-toggle-group 中使用多个 mat-button-toggle 制作评级组件。我设法制作了它们使用以下 CSS 等宽:

mat-button-toggle {
    width:100%
}

mat-button-toggle-group {
    width: 100%;
}

所以,这就是正常情况下的样子,宽度相等。

        1        |        2        |        3        |        4        |        5        |

现在,该应用经过编码,因此第一个和最后一个切换可以包含可选的描述性文本,以帮助用户了解评级的等级。

但是,使用上面的 CSS,它为所有个人评分保持 20% 的宽度。我尝试了 width="auto",虽然这会根据内部文本改变宽度,但所有其他切换按钮都变得非常薄,在切换组的右端留下一个大的空白区域。 例如:

Worst 1 | 2 | 3 | 4 | 5 Best

是否可以保持相同的宽度,但在向第一个和最后一个元素添加文本时,通过减少中间元素的宽度来增加它们的宽度?

期望的最终输出:

   Worst Option possible    1    |   2   |   3   |   4   |    5  Best  Option possible  |

谢谢。

最佳答案

使用flex

.options {
  display: flex;
}

.options > div {
  flex: 1;
  border: 1px solid gray;
  text-align: center;
}
<div class='options'>
  <div>1 WORST</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6 BEST</div>
</div>

关于javascript - 随内容增加元素宽度,否则宽度相等 - CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56986918/

相关文章:

javascript - 删除本地存储中的字符串

javascript - 使用 jquery 根据日期选择选项

javascript - HTML5 历史 - 后退按钮到上一个完整页面?

html - css3 渐变不适用于所有浏览器

javascript - html2canvas - 错误 - 对象 HTMLCanvasElement

jquery - 创建 Bootstrap 4 两行导航栏自定义设计

javascript - 使用特定数字的最后一个访问 JavaScript 数组中的位置

javascript - 在 HighCharts 上设置图标(图像)时出现问题

html - textarea 适合 parent 宽度减去边距

html - 带边框的菜单列表显示不正确