所以这里是干净的脚本方式。
HTML:
<div><span>Your text</span></div>
CSS:
*
{
margin: 0;
padding: 0;
}
div
{
display: inline-block;
border: 1px solid black;
border-radius: 50%;
text-align: center;
}
div:before
{
content: '';
display: inline-block;
height:100%;
vertical-align: middle;
}
span
{
vertical-align: middle;
display: inline-block;
}
查询:
var width = Math.sqrt($("span").width() * $("span").height());
var sqrt2 = Math.sqrt(2);
$("span").height(width);
$("span").width(width);
$("div").width(sqrt2 * width);
$("div").height(sqrt2 * width);
由于单词之间的空格以及它们如何中断..此解决方案可能会在小文本上出错。
相同的 HTML 和 CSS,脚本的微小变化
这是一个更好的解决方案(即使是小文本也能更好地工作)
查询:
var div = $("div");
var span = $("span");
span.width(Math.sqrt(span.width() * span.height()));
span.width(Math.sqrt(span.width() * span.height()));
div.width(Math.sqrt(2) * span.width());
div.height(div.width());
我重复那句话的原因
span.width(Math.sqrt(span.width() * span.height()));
这是因为我使用它的次数越多,我在文本周围的跨度就越大。(导致圆圈在文本周围更紧)