锚内增加了一个无法解释的空间!

Ric*_*nop 5 html css whitespace webpage-rendering

编辑:

不.忽略这个.这个空间被浏览器放在那里.


这是我的应用程序的HTML代码段:

    Correct answers: 
    0 / 6<br /><br />
    You have failed to pass the final test.

    <a href="/module/controller/course/id/5" class="accessible-link">
        Click here
    </a> 
    to return to the training.
Run Code Online (Sandbox Code Playgroud)

如您所见,结束标记后面有一个空格.然而在浏览器中,空间被添加到锚内.所以它看起来像这样:

替代文字

这是生成HTML的PHP​​代码:

<?php if (isset($this->correctAnswersCount) && isset($this->answersCount)): ?>
        <?php echo Zend_Registry::get('translate')->_('Po?et správnych odpovedí'); ?>: 
        <?php echo ToHtml($this->correctAnswersCount); ?> / <?php echo ToHtml($this->answersCount); ?><br /><br />
<?php endif; ?>
        <?php echo Zend_Registry::get('translate')->_('Závere?ný test sa vám nepodarilo úspešne absolvova?.'), "\n"; ?> 
        <a href="<?php echo ToHtml($this->backToCourseUri); ?>" class="accessible-link">
            <?php echo Zend_Registry::get('translate')->_('Kliknite'), "\n"; ?>
        </a> 
        <?php echo Zend_Registry::get('translate')->_('pre návrat do kurzu.'), "\n"; ?>
Run Code Online (Sandbox Code Playgroud)

虽然我现在已经盯着代码30分钟了,但我完全被这个缓和了,无法弄清楚是什么导致了这个问题.

这是翻译文件中的一个相关部分:

'Kliknite' => 'Click here',
Run Code Online (Sandbox Code Playgroud)

如您所见,Zend_Translate不应添加空间.

qbe*_*uek 5

在下一个之后直接关闭'a'标记,没有换行符,如下所示:

<a href="/module/controller/course/id/5" class="accessible-link">Click here</a>
Run Code Online (Sandbox Code Playgroud)

  • 这就是空间的来源。浏览器会因空格而感到困惑,并且您无法清除它。 (2认同)

Car*_*ñoz 5

改变这个:

<a href="<?php echo ToHtml($this->backToCourseUri); ?>" class="accessible-link">
    <?php echo Zend_Registry::get('translate')->_('Kliknite'), "\n"; ?>
</a>
Run Code Online (Sandbox Code Playgroud)

进入这个:

<a href="<?php echo ToHtml($this->backToCourseUri); ?>" class="accessible-link">
    <?php echo Zend_Registry::get('translate')->_('Kliknite'), "\n"; ?></a>
Run Code Online (Sandbox Code Playgroud)

</a>应在同一行后,<?php echo Zend_Registry::get('translate')->_('Kliknite'), "\n"; ?>又名点击这里

编辑:

新行和它之后的空格呈现为仍然在 de<a></a>标签内的 1 个空格,这就是空格的来源。

编辑2:

作为记录,我也不喜欢将结束标记放在内容旁边而不是在新行中,但这就是为了正常工作而必须这样做的。

我喜欢好的格式化代码,我总是在我的 IDE 中寻找自动格式化命令。

但至少例如在 Visual Studio 中,当您点击Ctrl+ KCtrl+ D(格式文档快捷方式)时,像 的结束标记</a>不会自动移动到新行,原因正是:它不应该破坏它在自动之前的外观格式。