突出显示文本后,我想获取所选文本所在的段落.
var select = window._content.document.getSelection();
Run Code Online (Sandbox Code Playgroud)
有什么指针吗?
我看到<p>标签在其他人的代码中使用了很多,但从未在我自己的工作中使用它.
我想知道这对使用<div>标签有什么好处?
将<p>标签合并到我的页面中是否有任何好处?
仅使用<div>标签没有任何缺点<p>吗?
我可以像这样插入简单的文字:
document = new PDDocument();
page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);
PDPageContentStream content = new PDPageContentStream(document, page);
content.beginText();
content.moveTextPositionByAmount (10 , 10);
content.drawString ("test text");
content.endText();
content.close();
Run Code Online (Sandbox Code Playgroud)
但是如何使用width属性创建类似于HTML的段落?
<p style="width:200px;">test text</p>
Run Code Online (Sandbox Code Playgroud) 这是交易.text-align我想在下面添加一个虚线边框,并将其置于段落的父级内部,而不是仅仅强调我的段落和使用div.这是我的代码不起作用.(它增加了整个边界div而不仅仅是段落)
p {
border-bottom:1px dotted;
margin-left:auto;
margin-right:auto;
text-align:center;
}
Run Code Online (Sandbox Code Playgroud)
该段似乎占据了父级的宽度div.有没有办法将段落的宽度设置为它包含的文本?(margin:auto如果可能,这似乎会奏效.)
我有以下问题.有一次,我添加blockquote的contenteditable,按ENTER键移动到新行,并增加了一个blockquote元素.它永远持续下去,我无法摆脱格式化.所需的功能将是无序列表的功能.当您按Enter键时,它会添加一个新的空<li>元素,但是如果再次按Enter键,它将转义格式,删除先前创建的<li>并添加一个<p>.
看看演示:http://jsfiddle.net/wa9pM/
一个黑客,我发现是创建一个空<p>下blockquote,在创建之前blockquote.但有没有办法打破JavaScript的格式化行为?我不知道如何检查:如果光标在哪里,它是行的结尾,如果它是一个块引用,按Enter键,请不要添加新的blockquote.
我正在使用此代码生成一个blockquoteJS:
document.execCommand('formatBlock', false, 'blockquote');
Run Code Online (Sandbox Code Playgroud) 我有一个网站,用户上传照片和创建相册.此外,他们可以在绝对位置,旋转和对齐方式添加文本.文本可以有新行.
我一直在使用Itext Library来自动创建后来打印的Photobooks高质量Pdfs.
将用户上传的图像添加到PDF非常简单,当我尝试添加文本时出现问题.
理论上我需要做的是定义一个定义宽度和高度的段落,设置用户文本,字体,字体样式,对齐(中心,左,右,对齐),最后设置旋转.
对于我读过的关于Itext的内容,我可以创建一个设置用户属性的段落,并使用ColumnText对象来设置绝对位置,宽度和高度.但是,不可能将任何大于单线的旋转设置为旋转.
我也不能使用表格单元格,因为旋转方法只允许90度的倍数.
有没有办法添加一个旋转(如20度)的段落,而不必使用该ColumnText.showTextAligned()方法逐行添加文本和涉及的所有数学?
----编辑:08-Ago-2013 ----
如果它可以帮助任何人,这是我用来解决这个问题的代码(感谢Bruno):
//Create the template that will contain the text
PdfContentByte canvas = pdfWriter.getDirectContent();
PdfTemplate textTemplate = canvas.createTemplate(imgWidth, imgHeight); //The width and height of the text to be inserted
ColumnText columnText = new ColumnText(textTemplate);
columnText.setSimpleColumn(0, 0, imgWidth, imgHeight);
columnText.addElement(paragraph);
columnText.go();
//Create de image wraper for the template
Image textImg = Image.getInstance(textTemplate);
//Asign the dimentions of the image, in this case, the text
textImg.setInterpolation(true);
textImg.scaleAbsolute(imgWidth, imgHeight);
textImg.setRotationDegrees((float) -textComp.getRotation()); //Arbitrary number …Run Code Online (Sandbox Code Playgroud) 我使用包中的\todo命令\todonotes.我想将我的源布局\todos与前一段分开放置:
Some text.
\todo{make note}
Run Code Online (Sandbox Code Playgroud)
但我不想\todo开始新的段落,或者它会弄乱文档的间距.
是否有命令要避免这种情况?
如果有一个命令/包来消耗它的空白,那么我可以重新定义\todo使用它.
编辑:在所有内容之间添加%显然非常烦人.还要别的吗?
以下三段代码表现完全相同:
<p {padding: 0 15 0 15}> A paragraph of text here... </p>
<p> A paragraph of text here... </p>
<p style="padding: 0 15 0 15"> A paragraph of text here... </p>
Run Code Online (Sandbox Code Playgroud)
如何在两边缩进段落?(我尝试了15px而不是15(编辑 - 但仅限于前两个),我也尝试用逗号分隔数字,就像我在Google上找到的一个例子.)
上面的代码位于正文中的div中,不涉及其他div或表等.
div定义为:
<div style="background-color: white; color: black; overflow:auto">
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
在我们开始之前:
请不要将此作为另一个问题的副本关闭.我刚刚在Stackoverflow上搜索过,但没有找到确切的情况.
最接近的是我相信这个问题.尽管如此,那里给出的回复对我来说并不合适,我相信因为段落已经定下来了position: absolute;.
那是HTML:
<ul>
<li><img src="http://www.placehold.it/300x200" /><p><span>Lorem Ipsum</span></p></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
而CSS:
li {
position: relative;
float: left;
overflow: hidden;
}
img {
width: 100%;
vertical-align: middle;
}
p {
background-color: rgba(255, 0, 0, .3);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
span {
background-color: rgba(0, 255, 0, .3);
vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/DpVjZ/
vertical-align: middle;只是将文本从顶部稍微偏移,但实际上不在中间.
设置跨度position: absolute;然后应用top: 50%;然后margin-top: -x%;将无法工作,因为跨度的高度未知,因为它是动态内容.
虽然链接的问题表明这是不好的做法,但我也尝试了这种display: table-cell …