javascript - 将元素大小调整为不是内容的字符串
问题描述
我有一个按钮 ( <span>
),其中包含格式文本Options (3)
。数字可以改变,最坏的情况是Options (99)
.
有没有办法根据我最坏的情况调整这个跨度的最小宽度,这样布局在数字改变时不会改变?
我目前的做法是
span {
display: inline-flex;
flex-direction: column;
align-items: center;
}
span::after {
display: inline-block;
white-space: pre;
height: 0;
visibility: hidden;
content: attr(data-min-string-width);
}
<span data-min-string-width="Options (99)" style="background: red">
Options
</span>
<br>
<span data-min-string-width="Options (99)" style="background: lime">
Options (1)
</span>
<br>
<span data-min-string-width="Options (99)" style="background: cyan">
Options (99)
</span>
有人有更好的吗?
解决方案
知道你的跨度最大的事实,Options (99)
你可以改变你的::after
风格:
span::after {
color: transparent;
content: 'Options (99)';
height: 0;
visibility: hidden;
}
这将确保“选项 (99)”始终构成跨度的宽度。
推荐阅读
- xpath - xpath - 如何从 Quora 中的节点获取文本?
- sitecore-sxa - Sitecore-SXA 搜索结果和方面
- post - 带参数的 Axios Vuejs POST 请求
- javascript - 在 JavaScript 对象中制作重复动画循环
- hdfs - Pig 无法创建 .bz2 文件但创建 .deflate 文件
- node.js - 从 Buffer node.js 前面移除元素
- html - 内文本的 CSS 选择器
- 元素(定义列表标签)
- vba - 如何将单元格值分成多个单元格(名称、街道、城市、州、邮编)
- arrays - Laravel 数组分组并合并每个组
- scala - 在 Scala SparkSQL 中使用 NVL2 和 NULLIF