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

Joh*_*ohn 1 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>
Run Code Online (Sandbox Code Playgroud)

虽然样式要求文本对齐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)
);  
Run Code Online (Sandbox Code Playgroud)

我注意到如果我删除'pre'标签我不再有这个问题,但如果没有这些标签,则不会出现正确的文本突出显示.我将变量片段传递给jsp,如下所示:

  request.setAttribute("snippet", selectedQuery);
Run Code Online (Sandbox Code Playgroud)

在将数据发送到jsp之前,我已经测试了这些数据的样子.我观察了System.out.print()中的变量,并且String本身没有缩进.selectedQuery是一个包含多个String变量的对象.

谢谢您的帮助.

编辑:我已尝试在div,pre和code标签中使用text-indent,但这些都没有任何效果.

Jas*_*son 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>
Run Code Online (Sandbox Code Playgroud)

<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>
Run Code Online (Sandbox Code Playgroud)

  • 对于其他人来说,只是为了澄清这是 HTML 中的空白,这通常会导致这种混乱(除了字符串变量中可能存在的任何内容)。 (3认同)