javascript - 按容器更改字体大小

标签 javascript css font-size viewport-units

我尝试使用此站点上以前的帖子并在 google 中进行搜索,但我遗漏了一些东西。

var divContainer = ws_popupWindows.document.getElementById('sw_content');

divContainer.innerHTML = '<div id="sw_resize">' + msgTEXT.innerHTML + '</div>';

var spanContainer = ws_popupWindows.document.getElementById('sw_resize');
for (var newSize = 100; (newSize -= 10) && (divContainer.clientWidth < spanContainer.clientWidth);) {
  spanContainer.style.fontSize = newSize + '%';
}
body {
  width: 100%;
  direction: rtl;
  text-align: center;
  background-color: AntiqueWhite;
  font-size: 15vmin;
  margin: 0;
  padding: 0;
}
h1 {
  height: 20vh;
  margin: 1vh;
  text-align: right;
  font-size: 100%
}
div {
  max-height: 70vh;
  background-color: Snow;
  margin: 0 5vh;
  padding: 2vh;
  border-radius: 10vh;
  overflow: hidden;
  word-wrap: break-word;
}
<div id="sw_content">
  <div id="sw_resize">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
    in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
</div>

但它不会改变文本的大小。 (我不能使用 jQuery,但在纯 JS 中也不应该那么难)。

附言: 我知道像 Dynamically resize font size to fit container size 这样的帖子, 但它仍然无法正常工作。

最佳答案

使用 spanContainer 的滚动高度与其 clientHeight。

for (var newSize = 100; spanContainer.scrollHeight > spanContainer.clientHeight; newSize -= 10)
{
  spanContainer.style.fontSize = newSize + '%';
}

关于javascript - 按容器更改字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37079346/

相关文章:

javascript - Kendo TreeView - 仅将删除图像图标添加到没有子节点的父节点

javascript - 无法将跨度内容设置为文本框输入

css - 如何在 CSS 中定义(重载?)预定义尺寸(大尺寸、超大尺寸等)?

javascript - json将单引号解析为javascript

javascript - 在 JS 中用户输入只允许数字、逗号或点

javascript - 仅识别输入中的数字标记 (JavaScript)

blogger.com 的 HTML 加载页面

javascript - jquery展开/折叠?

Javascript 所见即所得编辑器和字体大小,我很困惑

html - 更改 CSS 字体样式和大小没有任何效果