是否有可能以某种方式测量具有多个中断/返回的段落中最后一行文本的长度?
Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Donec id elit non mi porta gravida at eget metus. Nulla vitae
elit libero, a pharetra augue. Nullam id dolor id nibh
ultricies vehicula ut id elit. Vivamus sagittis lacus vel
[here] ->|augue laoreet rutrum faucibus dolor auctor.|<- [to here]
Run Code Online (Sandbox Code Playgroud)
注意:文本中没有手动中断.它是一个包含在内部的单行文本,比方说,一个<p></p>标记.
我的JavaScript文件中有一个包含大量文本,文本的字符串.我也有一个元素,DIV#集装箱是风格(使用单独的CSS)与潜在的非标准line-height,font-size,font-face,或者其他人.它有一个固定的高度和宽度.
我想获得最大数量的文本,可以适应div#容器而不会从字符串溢出.这样做的最佳方法是什么?
这需要能够处理使用标签格式化的文本,例如:
<strong>Hello person that is this is long and may take more than a</strong>
line and so on.
Run Code Online (Sandbox Code Playgroud)
目前,我有一个适用于纯文本的JQuery插件,代码如下:
// returns the part of the string that cannot fit into the object
$.fn.func = function(str) {
var height = this.height();
this.height("auto");
while(true) {
if(str == "") {
this.height(height);
return str; // the string is empty, we're done
}
var r = sfw(str); // r = [word, …Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一种简单的方法,让所有链接均匀分布在水平导航上.如果它是固定数量的链接,这将是非常容易的,但它们将是动态的.
所以它可能是5或10个链接,没人知道.尽管有大量的链接我希望它们在不使用表格的情况下均匀地分布在导航中.
我不想使用表的原因是因为它会破坏UL LI结构,这显然是构建导航(SEO)时的方式.
这里有一个jsFiddle更深入地解释它:http://jsfiddle.net/pkK8C/19/
寻找最轻的方法.
先感谢您.
如何检测一段文字是否会换行?
所以想象一下,我有一个带有标题的UI,文字很大.我希望这里最大的文字在菜单栏中垂直放置.它显示如下数值数据:
LABEL: 9999 LABEL2: 99999
Run Code Online (Sandbox Code Playgroud)
数字部分可以变大.在某些屏幕上 - 例如手机 - 它会导致元素溢出并包裹在应该保留的条形下方.我不想做溢出:隐藏.我希望用户看到整件事.
我希望能够以某种方式计算元素的大小,以及它是否会先切换缩小字体,可能会移动元素以留出空间.
我目前有很多这样的输入:
<input type="number" id="milliseconds">
Run Code Online (Sandbox Code Playgroud)
此输入字段用于表示以毫秒为单位的值.但是,我确实有多个数字输入,其值为dB或百分比.
<input type="number" id="decibel">
<input type="number" id="percentages">
Run Code Online (Sandbox Code Playgroud)
我想要做的是在输入字段中添加一个类型后缀,让用户知道输入代表什么样的值.像这样的东西:
(编辑此图像以显示我想要的结果,我也隐藏了输入类型的向上和向下箭头).
我试过谷歌这个,但我似乎无法找到任何关于它.有谁知道这是否可行,以及你如何能够完成这样的事情?
我有一个 HTML textarea,其宽度设置为浏览器窗口的 100%,使用 CSS。
如何计算 textarea 中适合的文本列数?
我已经查看了与此相关的类似SO帖子,但没有一个涉及到我正在寻找的内容.假设我有一些文本,我把它扔到div中,并为该div添加一些任意(甚至可能是动态的)宽度.有没有什么办法可以在div programmaticaly中捕获和操作单独的文本行(例如,捕获然后将自己的span标记中的每一行文本换起来或类似的东西,这将使我能够操纵单独的行)?
我已经能够使用等宽字体完成此操作,并且基本上首先每行创建一个跨度,并且每个跨度只分配相同数量的字符(使用一些额外的代码,因此单词当然不会被切断),但我会喜欢用非等宽字体来做这件事,这当然会引起问题,因为非monopsaced字体的字符水平间距会有所不同.
var str = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
container = $('<div>');
container.width('100px').html(str).appendTo('body');
Run Code Online (Sandbox Code Playgroud)
这个输出几乎是你所期望的.它 …
假设我有一个宽度为200px且字体大小为16的div.现在我想计算一个可以放入div行的字符数.如何使用JavaScript或jQuery计算字符数.
我对offsetWidth()和measureText进行了基准测试,得到了截然不同的值.它们不应该是一样的吗?他们为什么不同?
这是下面的jsfiddle和原始代码:http: //jsfiddle.net/WhGk7/2/
<canvas id="myCanvas" width="300" height="200" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
<span id="visibilityHack" style="visibility: hidden; font: 15px Arial;">textAlign=start</span>
<div id="results"></div>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
// Create a red line in position 150
ctx.strokeStyle="red";
ctx.moveTo(150,20);
ctx.lineTo(150,170);
ctx.stroke();
var measureTextWidth = ctx.measureText("textAlign=start").width;
var measureTextNode = document.createTextNode("measureTextWidth: " + measureTextWidth);
document.getElementById("results").appendChild(measureTextNode);
var swidth = document.getElementById("visibilityHack").offsetWidth;
var textnode = document.createTextNode(" offsetWidth: " + swidth);
document.getElementById("results").appendChild(textnode);
ctx.font="15px Arial";
// Show the different textAlign values …Run Code Online (Sandbox Code Playgroud) html ×6
javascript ×6
css ×5
jquery ×3
html5 ×2
canvas ×1
dynamic ×1
formatting ×1
input ×1
suffix ×1
textarea ×1
typography ×1