gpt4 book ai didi

css - 在几何形状 div 中对齐文本

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:39 25 4
gpt4 key购买 nike

我可以像这样将 div 中的文本与几何形状对齐吗 https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQ5z8OYxnypDr09mmfFMunJj31x_XtfG3MFj0vlAa_ceoCnts0OfQ

不隐藏一些文字?

更新:

我需要这样的东西,上面是一个圆,但对于平行四边形我也需要这样的东西:

http://i39.tinypic.com/4r2ikm.jpg

最佳答案

这是一个js fiddle 代码

fiddle

在某个地方找到的。

这是脚本

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

var text = "'Twas the night before Christmas, when all through the house, Not a creature was stirring, not even a mouse. And so begins the story of the day of Christmas";
var font = "12pt verdana";
var textHeight = 15;
var lineHeight = textHeight + 5;
var lines = [];

var cx = 150;
var cy = 150;
var r = 100;

initLines();

wrapText();

ctx.beginPath();
ctx.arc(cx, cy, r, 0, Math.PI * 2, false);
ctx.closePath();
ctx.strokeStyle = "skyblue";
ctx.lineWidth = 2;
ctx.stroke();


// pre-calculate width of each horizontal chord of the circle
// This is the max width allowed for text

function initLines() {

for (var y = r * .90; y > -r; y -= lineHeight) {

var h = Math.abs(r - y);

if (y - lineHeight < 0) {
h += 20;
}

var length = 2 * Math.sqrt(h * (2 * r - h));

if (length && length > 10) {
lines.push({
y: y,
maxLength: length
});
}

}
}


// draw text on each line of the circle

function wrapText() {

var i = 0;
var words = text.split(" ");

while (i < lines.length && words.length > 0) {

line = lines[i++];

var lineData = calcAllowableWords(line.maxLength, words);

ctx.fillText(lineData.text, cx - lineData.width / 2, cy - line.y + textHeight);

words.splice(0, lineData.count);
};

}


// calculate how many words will fit on a line

function calcAllowableWords(maxWidth, words) {

var wordCount = 0;
var testLine = "";
var spacer = "";
var fittedWidth = 0;
var fittedText = "";

ctx.font = font;

for (var i = 0; i < words.length; i++) {

testLine += spacer + words[i];
spacer = " ";

var width = ctx.measureText(testLine).width;

if (width > maxWidth) {
return ({
count: i,
width: fittedWidth,
text: fittedText
});
}

fittedWidth = width;
fittedText = testLine;

}

}

关于css - 在几何形状 div 中对齐文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19026557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com