如何删除html中文本的第一行缩进

时间:2014-10-22 17:38:45

标签: html css jsp text-align highlight.js

我无法格式化输出。我希望每行文本在左侧是水平的。这是我正在使用的代码。

<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,但这些都没有任何效果。

1 个答案:

答案 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>