将文本调整为特定形状
Adjust text into specific shape
我有以下代码,我需要使用 JavaScript 来调整文本,使其适合圆圈。
这是当前代码:
#circle {
background:blue;
width:200px;
height:200px;
top: -100px;
margin-top:50%;
left: -100px;
margin-left:50%;
text-align:center;
font-family:monospace; /* fixed size font, making it easy to implement */
line-height:18px;
font-size:18px;
border-radius:100px;
}
<div id="circle">
Hello World Helo World Helo World Helo World Helo World
</div>
默认情况下,文本将以正方形排列。如果找到适合圆的最大正方形,则可以调整填充以适应它。计算方法,适合圆的最大平方是这个公式:
((半径平方)/2)的平方根
((200 * 200)/2)的平方根;
(40000/2)的平方根;
(20000) 的平方根 = 141。
所以内容是 141px x 141px。由于您的圆圈在技术上是一个 200x200 的框,因此填充需要为 (200 - 141)/2 = 29.5px;
因此,您需要将其垂直居中。有许多"黑客"可以做到这一点。我正在使用以下许多之一。见 https://www.w3.org/Style/Examples/007/center.en.html
#circle {
box-sizing:border-box;
background:blue;
width:200px;
height:200px;
text-align:center;
font-family:monospace; /* fixed size font, making it easy to implement */
line-height:18px;
font-size:18px;
border-radius:100px;
padding:29px;
position: relative
}
#circle p {
box-sizing:border-box;
width:141px;
padding:0;
margin: 0;
position: absolute;
top: 50%;
transform: translate(0, -50%)
}
<div id="circle">
<p>Hello World Helo World Helo World Helo World Helo World</p>
</div>
如果您只想将文本放入圆圈中,只需将padding-top: 70px
添加到#circle
见小提琴:https://jsfiddle.net/hzurmh8n/6/
相关文章:
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 如何动态调整文本大小以适应元素以防止拉伸
- 使用jquery调整文本区域的高度
- 如何在使用 UIWebView 编辑 HTML 内容时正确调整输入语言更改 (LTR/RTL) 的文本对齐方式
- 如何使用编辑器制作可调整大小的文本区域
- IE7 文本大小调整
- 调整父元素大小时,文本会移动
- 如何正确自动调整 wysihtml5 文本区域的大小
- 我可以更改CSS中文本区域调整大小句柄的设计吗
- 更新输入类型=文本值或文本框控件调整大小事件
- 如何根据浏览器按比例调整文本大小
- 与我的jquery弹出窗口和自动调整文本区域大小有冲突
- 调整优雅的文本大小调整解决方案的性能,实现流畅/响应式设计
- 根据php/mysql变量中的文本行调整文本区域的大小
- 正在寻找一个类似于facebook的文本区域大小调整插件
- 使用jquery将文本的高度调整为图像的高度
- 调整浏览器大小时文本上的CSS省略号
- 将文本区域宽度调整为最长的文本行
- 使用keyup键键入时调整文本区域宽度
- 将文本调整为特定形状