我们爱圈子!我需要帮助才能将文本放在圆圈内,并让文字线条包裹在圆圈的边缘。
我在这里有两个不同的,不充分的尝试:http://chrislaursen.com/papertwin/band/
第一个使用jquery插件TextMorph:http://nicodmf.github.com/TextMorph/en.html。这将文本很好地包装在圆圈内,但我不知道如何垂直居中。
我页面上的第二个圆圈只是使用填充来保持文本在圆圈内。这是一个简单的css解决方案,它不会将文本放在所需的圆形状中。
我认为解决方案涉及修改第一个圆圈中使用的插件以垂直居中文本,但我不知道该怎么做。任何帮助将不胜感激!
答案 0 :(得分:1)
其他解决方案并非一般化,所以我认为我会采取更多算法解决方案。如果您查看TextMorph的代码,您会看到.content
元素(包含文本)的margin-top
属性设置为{{1}的负数(这些是初始化TextMorph对象时设置的内容)。 total-height - lineheight
会使您的文字通常显示在您的圆圈(或其他形状)下方,因此它会“备份”到位。我们需要做的就是让文本精彩地居中,就是“备份它”,使它居中。
以下代码首先将<div>
的{{1}}设置为圆的高度的1/2。这使文本显示在圆圈的下半部分。然后,它会逐步调整.content
的{{1}},直到接近为中心(请参阅代码中的注释)。考虑到文本的高度(以像素为单位)可能会发生变化,具体取决于字体,字体大小,浏览器渲染等。
段:
margin-top
答案 1 :(得分:0)
这是远最佳解决方案,它更像是一个快速解决方案,但它有效(请参阅here)。
$(function() {
var pad = new Array(75).join(" ");
$('#circle').prepend(pad);
var circle = new TextMorph(document.getElementById('circle'), {
width: 500,
height: 500,
lineHeight: 15
});
});
这个想法是用空格前缀填充文本,以便“推”下来。
答案 2 :(得分:0)
我所做的是用“p”标签包裹“div”中的文本。然后我尝试了一些6 methods如何在div元素(如“p”标签)中垂直对齐div中的文本。
我尝试了其中一些 - 您可以选择最适合您需求的那个。你可能需要一些CSS调整(稍微改变一下样式),但重要的是如何使事情发挥作用。
这就是我所做的:
<div style="margin-top: -499px;" class="content"><p style="
position: absolute;
top: 100px;
left: 0;
right: 0;
bottom: 0;
width: 60%;
height: 30%;
margin: auto;
margin-top: 20%;
">Brooklyn’s synth group Papertwin (Max Decker, Francis Cardinale, Nick Shopa, Justin Micheal Miller) was founded in 2009. Its debut EP “Porcelain,” released in 2011, offers a dark, reverent vision of new wave, embracing its high energy while drifting into a territory of dreams and half-light. The quartet is set to release its second EP, “Peru,” this spring.</p></div>
注意应用于“p”元素的css。