- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
所以,我通常会像这样格式化我的 HTML 源代码:
<article>
<section>
<p>
Text...
Text...
</p>
<pre>
Code...
Code...
Code...
</pre>
<p>
Text...
Text...
</p>
</section>
</article>
但是,这种格式样式与 PRE 元素不兼容,因为这些元素中的所有空白都很重要。
看这里: http://jsfiddle.net/pjEYm/
为了修复代码块的显示,我必须像这样格式化源代码:
<article>
<section>
<p>
Text...
Text...
</p>
<pre>
Code...
Code...
Code...</pre>
<p>
Text...
Text...
</p>
</section>
</article>
看这里: http://jsfiddle.net/pjEYm/1/
但是,这会降低我的源代码的整洁度和可读性。
我想使用一种能够让我保留我的格式样式的解决方案。
我尝试设置 white-space
属性。最接近解决方案的是 white-space: pre-line
,但它也删除了代码中的所有缩进。
看这里: http://jsfiddle.net/pjEYm/2/show/
所以,我选择了 JavaScript:
$( 'pre' ).each( function () {
var lines, offset;
// split the content of the PRE element into an array of lines
lines = $( this ).text().split( '\n' );
// the last line is expected to be an empty line - remove it
if ( lines.length > 1 && lines[ lines.length - 1 ].trim() === '' ) {
lines.pop();
}
// how much white-space do we need to remove form each line?
offset = lines[ 0 ].match( /^\s*/ )[ 0 ].length;
// remove the exess white-space from the beginning of each line
lines = lines.map( function ( line ) {
return line.slice( offset );
});
// set this new content to the PRE element
$( this ).text( lines.join( '\n' ) );
});
现场演示: http://jsfiddle.net/pjEYm/3/
虽然这可行,但我仍然更喜欢某种CSS 解决方案。有吗?
最佳答案
没有 CSS 解决方案,除非您可以在 pre
上设置负边距。元素,但是您需要使用固定数字和 ch
来设置它单位(不普遍支持)。这将相当笨拙、不灵活且不可靠。
pre
element 表示预先格式化的文本,除非你真的想要它,否则你不应该使用它。对于程序代码,您可以只使用强制换行符 ( <br>
) 和前导不间断空格来缩进(理论上不可靠,但在实践中有效)。然而,最简单和最安全的做法是只包含您想要显示为预格式化的数据,即使它破坏了 HTML 源 的布局(只有少数阅读它的人感兴趣)。
关于javascript - PRE 元素内有过多空白的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8884740/
我正在使用 suplot2grid 绘制 6 个子图,每个子图内部都有 2 个时间序列。每个子图都应在不同的 Y(垂直)轴上显示值。 我当前的输出接近我的目标,但仍然错误,如下所示: 现在我所做的事情
我想在两个斜杠之后使用带有操作的 Controller ,就好像它是操作中的操作一样。 示例:.../Administration/Institution/Register/Id 我正在使用解决方案:
在下面的查询中,我想在 CASE 的 WHEN 和 THEN 之前添加一个 AND 条件是否可行? 例如 WHEN 'r' AND table1.name="jones"THEN 'very high
在下面的查询中,我想在 CASE 的 WHEN 和 THEN 之前添加一个 AND 条件是否可行? 例如 WHEN 'r' AND table1.name="jones"THEN 'very high
我有一个标题标签,定义如下: private lazy var titleLabel: UILabel = { let label = UILabel() label.numberOfLines
我应该如何为我的以下场景实现 TableView -数据源架构: 两个 View Controller ,每个 View Controller 都包含自己的 TableView 。 表格 View 单
这一直让我发疯,从来没有找到正确的答案。 我想实现以下目标: http://juicybyte.com/stack-overflow.jpg 意思是,我想在左侧的 div 上放置一个图像,并根据内容的
我在 Firefox 正确显示切换的 div 时遇到问题。我看过其他问题,但似乎没有一个涉及同一问题。 我在两个正在切换的 div 中都有一个 wufoo 表单,这是我的代码。 $(document
我想要实现的目标非常简单。我有一个带有展开/折叠图标和问号图标的 div。当用户单击这些图标之一时,相应的隐藏 div 应向下滑动。 当用户单击展开/折叠图标而不是问号时,此功能有效。 HTML:
我有这样的东西: google Hello World 我想为所有 应用边框有一个 里面。但我不能使用 id因为此代码需要适用于任何页面,而我无法控制 ID。这可以通过 CSS
我正在尝试在各自的 docker 容器中运行 Node 和 nginx,并从 nginx 到 Node 进行代理。我首先尝试了下面的配置没有docker并且它有效。但是,当使用 docker 时,它不
使用 try-catch-finally 结构来检索数据库记录,似乎我需要在 try block 内返回一个值,以防万一一切正常(如出现异常,函数的末尾并不意味着到达)。但是如果我返回到 try 内部
我是一名优秀的程序员,十分优秀!