我无法格式化输出。我希望每行文本在左侧是水平的。这是我正在使用的代码。
<div style="text-align: left;">
<pre style="width: 75%; margin-left:auto; margin-right:auto;"><code class="sql">
<c:out value="${snippet.query}"/>
</code></pre>
</div>
虽然样式要求将文本对齐到div的左侧,但输出的第一行始终缩进。为什么会这样?我还无法发布图片,但这就是它的样子:
CREATE SCHEMA "Trading";
SET SCHEMA '"Trading"';
CREATE STREAM "Orders"
(
orderTime TIMESTAMP,
orderId INTEGER,
productId INTEGER,
quantity INTEGER,
unitPrice DECIMAL(11,2),
shippingState CHAR(2)
);
CREATE STREAM Shipments
(
shipTime TIMESTAMP,
orderId INTEGER,
warehouseState CHAR(2)
);
我注意到,如果我删除了&#39; pre&#39;标签我不再有这个问题,但如果没有这些标签,就不会出现正确的文字突出显示。我将变量片段传递给jsp,如下所示:
request.setAttribute("snippet", selectedQuery);
在将数据发送到jsp之前,我已经测试了这些数据的样子。我观察了System.out.print()中的变量,并且String本身没有缩进。 selectedQuery是一个包含多个String变量的对象。
感谢您的帮助。
编辑:我已尝试在div,pre和code标签中使用text-indent,但这些都没有任何效果。
答案 0 :(得分:7)
pre
标记包含任何空格。打开和关闭预标签之间有一堆空白区域。简单地删除它,你应该没事:)
像这样:
<div style="text-align: left;">
<pre style="width: 75%; margin-left:auto; margin-right:auto;"><code class="sql">
<c:out value="${snippet.query}"/>
</code></pre>
</div>
要
<div style="text-align: left;">
<pre style="width: 75%; margin-left:auto; margin-right:auto;"><code class="sql">
<c:out value="${snippet.query}"/>
</code></pre>
</div>