使用javascript查找渲染的换行符
我有这样的情况:使用javascript查找渲染的换行符,javascript,Javascript,我有这样的情况: div{width:200px} 示例试试CSS div { width:200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 试试CSS div { width:200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 这可以使用CSS来完成。不需要Javasc
div{width:200px}
示例
试试CSS
div {
width:200px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
试试CSS
div {
width:200px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
这可以使用CSS来完成。不需要Javascript
<div> example example example example example</div>
<style>
div{
width: 200px;
word-wrap: break-word;
}
</style>
示例
div{
宽度:200px;
单词包装:打断单词;
}
这可以使用CSS来完成。不需要Javascript
<div> example example example example example</div>
<style>
div{
width: 200px;
word-wrap: break-word;
}
</style>
示例
div{
宽度:200px;
单词包装:打断单词;
}
您可以使用及其简便的方法来确定在TextNode中标记扣押的字符
请注意,这显然需要在每次调整窗口大小/某些内容更改布局时重新计算
函数getLineBreaks(节点){
//我们只处理文本节点
如果(!node | |!node.parentNode | | node.nodeType!==3)
返回[];
//我们的范围对象形式,我们将得到字符的位置
常量范围=document.createRange();
//在这里,我们将存储所有线路
常量行=[];
//从第一个字符开始
range.setStart(节点,0);
//初始位置
让prevBottom=range.getBoundingClientRect().bottom;
设str=node.textContent;
让current=1;//我们已经得到了索引0
设lastFound=0;
让bottom=0;
//迭代所有字符
while(当前上下){//换行符
推(
str.substr(lastFound,current-lastFound)//文本内容
);
prevBottom=底部;
lastFound=当前;
}
电流++;
}
//推到最后一行
行。推送(str.substr(lastFound));
回流线;
}
log(getLineBreaks(document.querySelector('.test').childNodes[0])代码>
div.test{
宽度:50px;
边缘底部:100px;
单词break:打破一切;
}
body>.as控制台包装{最大高度:100px}
这是一些相当长的内容,将以多行形式包装
您可以使用及其简便的方法来确定在TextNode中标记扣押的字符
请注意,这显然需要在每次调整窗口大小/某些内容更改布局时重新计算
函数getLineBreaks(节点){
//我们只处理文本节点
如果(!node | |!node.parentNode | | node.nodeType!==3)
返回[];
//我们的范围对象形式,我们将得到字符的位置
常量范围=document.createRange();
//在这里,我们将存储所有线路
常量行=[];
//从第一个字符开始
range.setStart(节点,0);
//初始位置
让prevBottom=range.getBoundingClientRect().bottom;
设str=node.textContent;
让current=1;//我们已经得到了索引0
设lastFound=0;
让bottom=0;
//迭代所有字符
while(当前上下){//换行符
推(
str.substr(lastFound,current-lastFound)//文本内容
);
prevBottom=底部;
lastFound=当前;
}
电流++;
}
//推到最后一行
行。推送(str.substr(lastFound));
回流线;
}
log(getLineBreaks(document.querySelector('.test').childNodes[0])代码>
div.test{
宽度:50px;
边缘底部:100px;
单词break:打破一切;
}
body>.as控制台包装{最大高度:100px}
这是一个相当长的内容,可以用多行包装
你说的“剪切”文本是什么意思?您期望的输出是什么样子的?请尝试css文本换行属性。不需要javascript@RickyMo右,例如,如上所述,div扩展到2行。我只想获取行中的文本above@MayankDudakiya我需要获取上面一行中的文本,并且不想隐藏底线。您的意思是说您有类似的内容并尝试获取每个渲染行([“这是”、“一些”、“相当长”…
)?您所说的“剪切”是什么意思文本?您期望的输出是什么样子的?请尝试css文本换行属性。无需javascript@RickyMo对,如上所述,例如,div扩展了2行。我只想获取行中的文本above@MayankDudakiya我需要获取上面一行中的文本,而不想隐藏底线。您的意思是您有类似的内容并尝试获取吗每个渲染行([“这是”、“一些”、“相当长”…
)?他们想在CSS应用换行符后检索呈现文本的内容,他们不想知道如何执行换行。他们想在CSS应用换行符后检索呈现文本的内容,他们不想知道如何执行换行。他们想在CSS应用换行符后检索呈现文本的内容当CSS应用换行符时,他们不想知道如何进行换行。他们想在CSS应用换行符后检索渲染文本的内容,他们不想知道如何进行换行。