【问题标题】:Asterisk at the end of required label所需标签末尾的星号
【发布时间】:2018-06-22 00:04:47
【问题描述】:

我在我的一个项目中使用 angular 和 scss。我的情况是,当需要该字段时,我必须在标签上显示一个星号。

目前我有这个代码:

h1{
  color: green;
}

label {
  position: absolute;
  left: 0;
  cursor: text;
  top: 24px;
  font-size: 113px;
  opacity: 1;
  overflow: hidden;
  word-break: break-all;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

label.required:not(:empty):after,
.field-header.required:after {
  content: " *";
  color: red;
}
<h1><label class="required">something</label></h1>

这会以所需的方式正确显示星号。但我希望我的星号始终显示,而不管屏幕的宽度如何。目前 '*' 不会在小屏幕上显示,只会显示省略号。

当前行为

数据....

预期行为

数据... *

如何解决这个问题?插入链接https://plnkr.co/edit/VCSa9iTLRBGYcDdnBzg1?p=preview请帮助

【问题讨论】:

  • 你能发布你的完整代码吗?看来这应该可行。
  • 有人刚刚对我的问题进行了-1。你能告诉我为什么,这样我就可以解决它。!!
  • 嘿Pete ..wel,这不是关于屏幕宽度,而是关于文本溢出..!!一旦文本溢出,连同省略号,我想在所有条件下都显示星号
  • 是的,抱歉,刚刚看到省略号的应用位置,您是否不愿意添加另一个跨度? jsfiddle.net/49qLhswu,问题是您的 after 是标签的一部分(最后,由于您隐藏了溢出,它是隐藏溢出的一部分!)
  • 嘿,谢谢,但我无法控制 html 模板部分,应该在样式端完成,因为这是动态发生的。

标签: angular css sass compass-sass


【解决方案1】:

尝试在 :after 中将 position: absolute 用于 *。使用 max-width: 100% 而不是宽度。

我对你的 css 做了一些修改。

堆栈片段

body h1 {
  color: green;
}

label {
  font-size: 113px;
  opacity: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: absolute;
  max-width: 100%;
  padding-right: 60px;
  box-sizing: border-box;
  left: 0;
}

label.required:not(:empty):after,
.field-header.required:after {
  content: " *";
  color: red;
  position: absolute;
  right: 0px;
  top: -15px;
}
<h1>
  <label class="required">Something beautiful</label>
</h1>

【讨论】:

  • 我认为这与上面最后一个 cmets 中提到的问题相同 - 如果页面更宽(或文本更小),* 将太靠右,而不是直接在标签之后文本。
  • @CBroe 是的,你是对的。我更新了我的答案。问题已解决。 max-width 成功了。
  • 仍然想知道标签的绝对定位是否首先是必要的(我知道已经在 OP 的示例中) - 否则display: inline-block 和自动宽度也应该这样做,我认为...
  • @CBroe 我试过了,但只有display: inline-blockwidth: auto 不起作用,max-width: 100% 是强制性的。正如position 关注的那样,我认为这取决于OP,他想不想保留它
  • 可能是我在开发工具中使用它时留下了最大宽度 - 也很有意义,因为否则 white-space: nowrap 当然会使其扩展到 100% 以上...问题已解决,我想,只是想知道首先投入绝对是否不会不必要地复杂:-)(但 OP 当然可能还有其他未说明的原因。)
猜你喜欢
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 2013-08-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多