javascript - 如果连单个字符都没有,则隐藏省略号

标签 javascript html css flexbox

我有一个带有图标和一些文本的按钮。目前我在文本溢出上显示省略号。但是我只想显示图标而不是省略号,如果只显示省略号的话。

如下例所示,因为连一个带省略号的字符都没有,只显示了三个点 (...)。我想隐藏以隐藏这三个点并仅显示带图标的按钮。

.btn{
  display: inline-flex;
  width: 46px;
  text-overflow: ellipses;
  overflow: hidden;
  white-space: nowrap;
}
.btn .icon{
  flex-shrink: 0;
  margin-right: 2px;
}
.btn .text{
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  flex-shrink: 1;
}
<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>

  <body>
    <button class="btn">
        <span class="icon"><i class="fa fa-html5"></i></span>
        <span class="text">button</span>
    </button>
  </body>

</html>

最佳答案

不确定这是否完全适用于您正在寻找的东西,但乍一看似乎是这样。

.btn{
  display: inline-flex;
  position: relative;
}
.btn .icon{
  position: absolute;
  left: 0px;
}

.btn .text{
  position: absolute;
  left: 20px;
  text-align: left;
  max-width: 30px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  flex-shrink: 1;
  display: inline-block;
}
<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>

  <body>
    <button class="btn">
        <span class="icon"><i class="fa fa-html5"></i><span class="text">testing</span></span>
        
    </button>
  </body>

</html>

关于javascript - 如果连单个字符都没有,则隐藏省略号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56891766/

相关文章:

javascript - 防止 reveal.js 缩放

c# - 保护自定义图像的图像文件名-单击验证码

css - Wordpress 页脚小部件未对齐

javascript - 突出显示和取消突出显示在 jquery 中选择的元素

css - 如何仅针对 WordPress 上的顶级导航项显示事件状态(例如下划线)?

javascript - 对齐悬停时出现的链接的问题

javascript - 如何使用 jQuery 在 2 个排序列表之间拖动项目?

javascript - knockout 链接选择选项

javascript - AJAX、JS和Fancybox,如何使其正常工作?

javascript - 如何在 iPhone 上使用 onclick