我正在尝试实现三个目标的组合......
确定我应该使用<code><pre>...</pre></code>
还是<pre><code>...</code></pre>
?
使代码不换行,不创建水平滚动条,也不溢出任何父元素。
确保访问者在将代码粘贴到任何(主管)编辑器时复制代码以保留空白区域。
到目前为止,我对white-space: pre-wrap;
运气最好,但我不希望文本换行。如果他们足够感兴趣,他们会自己复制粘贴。虽然我不希望它包装我也不希望它使元素溢出任何父元素之外,我不希望文本出现在它的直接父元素之外。
我会好的使用水平滚动条代码本身(pre
或code
元素,无论哪个),但我通常不愿意这样做。
以防它是相关的我不使用任何CSS框架或类似的,我只做一个基本的重置......
* {border: 0px; margin: 0px; outline: none; padding: 0px; }
我在Firefox中测试,然后是Chrome,然后是(实际)Opera,然后可能是IE,如果我有足够的理智。请问?
答案 0 :(得分:0)
在第2和第3期:希望我没有误解你的问题 - 我通过添加固定宽度和溢出来隐藏到css类中,我明白了你的目标是轻松工作。
1:它正在与<pre (outer)><code (inner)>
合作,所以......嘿。
仅供参考,border: gray;
并未做任何事情。您需要使用格式border:1px gray solid;
答案 1 :(得分:0)
目标1很简单:code
内的pre
有效,pre
内的code
不是。另一方面,pre
是重要的。如果内容是计算机代码,则可以在其中使用code
作为原则。
目标2本身就是自相矛盾的,除非你指的是减少字体大小以便一切都适合的想法。更现实的是,关于代码块的水平滚动条可以使用的说法,只需使用
pre { width: 100%; overflow: auto }
这会导致为块显示水平滚动条,而不是溢出内容。
使用普通空间时可实现目标3。复制的内容包含空格,粘贴后它们会发生什么情况取决于软件。
答案 2 :(得分:0)
使用以下内容,我的工作精确度约为99.8%......
<强> XHTML 强>
<pre><code>/* Code here. */</code></pre>
<强> CSS 强>
pre {white-space: pre; width: 75vmax;}