【问题标题】:Angular - Justifying and changing text size depending on div size - No JQueryAngular - 根据 div 大小调整和更改文本大小 - 无 JQuery
【发布时间】:2018-08-26 06:07:49
【问题描述】:

我有一个 Angular 应用程序,我在 <div> 中显示不同的字符串,但是我希望它们与 div 的宽度相符。

  1. 较短的字符串应具有较大的字体大小以填充空格,而不是简单地在字母之间添加空格。
  2. 长字符串应具有较小的字体大小并且不应换行到下一行。

这是我所追求的视觉表示:

我已经看到 this link 展示了执行此类操作的不同方法,但我就是无法让它发挥作用...

忘记添加代码了。给你。

component.ts

export class FitTextComponent implements OnInit {
  line1 = 'this is text for line 1';
  line2 = 'less text';
  line3 = 'medium amount of text';
  line4 = 'this will be a really long line';

  text = [this.line1, this.line2, this.line3, this.line4];

  constructor() { }

  ngOnInit() {
  }

}

component.html

<div class="container">
  <p *ngFor="let line of text">{{line}}</p>
</div>

component.css

.container {
  width: 300px;
  background: grey;
}

Here is a stackblitz to play with

【问题讨论】:

  • 如果不查看您的代码、您尝试过的具体内容以及无效的内容,很难为您提供帮助。
  • @sol - 现已添加!

标签: javascript html css angular


【解决方案1】:

我会留下这个作为评论,但我显然需要 50 声望...

我建议查看Font scaling based on width of container

他们引用了您提到的链接,但也解决了其他解决方案,例如:https://drafts.csswg.org/css-values/#viewport-relative-lengths

他们还讨论了调整大小的具体解决方案,具体取决于它是基于主体还是容器进行修改。

我想看看。希望这会有所帮助!

【讨论】:

  • 似乎很多答案/小提琴都处理更改窗口大小时的缩放,但不是希望文本大小更大以填充宽度的额外要求(即:jsfiddle.net/0tpvccjt/1009
  • 他们提到将字体大小设置为 100%。使用他们的解决方案这样做应该使用窗口大小缩放文本。 jsfiddle.net/T84wL/3
  • 这也是您正在寻找的一个很好的工作示例:codepen.io/maciejkorsan/pen/BWLryj 具有不同的实现。
  • 你知道是否有适用于 Angular 的版本吗?
  • 我相信你可以使用这个,你只需要多做一步。请参阅:hackernoon.com/… 在“如何使用没有类型 (.d.ts) 的库”部分下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-10
  • 1970-01-01
  • 2017-01-19
  • 2012-05-31
  • 1970-01-01
  • 2013-04-09
相关资源
最近更新 更多