【发布时间】:2013-05-04 21:58:37
【问题描述】:
我现在正在创建一个站点,我需要为 <pre> 标签提供语法高亮和行号支持(我正在使用 GitHub Gists,但这没关系)。
问题是,我的网站是响应式的,我无法在<td> 中为我的<pre> 分配静态width 属性,因为可以调整表格的大小。
如果你想看一个活生生的例子,here's the example I created to show you what I'm talking about: http://jsfiddle.net/akashivskyy/jNRrn/.
如果你不想搬到任何地方,这里有一个简短的解释......
我的基本树如下所示:
<div class="file">
<table class="source">
<tr>
<td class="lines">
<span class="line-number">1</span>
<span class="line-number">2</span>
<span class="line-number">3</span>
</td>
<td class="code">
<pre>NSString *title = @"Title";
NSString *title2 = [title stringByAppendingString:@"This is a very very long string"];
NSLog(@"%@", title2);</pre>
</td>
</tr>
</table>
</div>
还有非常基本的CSS:
.file {
overflow: hidden;
width:340px;
}
td.code pre {
overflow: auto;
}
这不起作用,因为<pre> 没有width 属性。我设法以某种方式允许滚动的唯一方法是将overflow: auto 应用于我的.file 类:
.file {
overflow: auto;
width:340px;
}
td.code pre {
overflow: auto;
}
但这并不能满足我,因为整个表格正在滚动,我希望行号(第一个<td>)保留。
现在你明白了。我的问题是:有没有办法通过一些棘手的responsive.js-alike 脚本为我的<pre> 元素分配静态width 属性来实现我的结果?
【问题讨论】:
-
尝试在第二个
上应用溢出:自动 @MaheshPatidar<td>元素不支持overflow属性。 (见stackoverflow.com/questions/9152042/…)看看我的回答
标签: css html-table overflow pre