2010-12-08 3 views
4

編集:アンカーの中に説明できないスペースが追加されました!

いいえ。これを無視してください。スペースはブラウザによってそこに置かれます。


これは私のアプリケーションからの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. 

あなたが見ることができるように、単一のスペースは、終了タグの後にあります。しかし、ブラウザではスペースがアンカーの内側に追加されます。だから、次のようになります。

<?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"; ?> 

私は完全にこれでbuffledていると私がしたにも関わらず、これを引き起こしているかを把握することはできません。

alt text

これは、HTMLを生成するPHPコードであります30分ほどコードを凝視していた。

これは翻訳ファイルからrelavant一部です:

'Kliknite' => 'Click here', 

あなたが見ることができるように、Zend_Translateのことで追加にスペースがあってはなりません。

<a href="/module/controller/course/id/5" class="accessible-link">Click here</a> 
+0

XHTMLではなくHTML5をお試しください。下線を引いているにもかかわらず、 ''内のスペースは多くのブラウザにとって標準的な動作です。 – mario

+0

@marioスペースはありません。改行とタブストップは単なるものとしてレンダリングされます。 HTML5(これはタグスープです)には存在しません。 – Gordon

+0

@mario私はそれを知っています。しかし、の間にスペースはありません。スペースは閉鎖タグの後です。 –

答えて

3

変更この:この中へ

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

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

</a><?php echo Zend_Registry::get('translate')->_('Kliknite'), "\n"; ?>別名はこちらをクリックし

EDITの後に同じ行にする必要があります:

新しい行と空白は、空白のスペースが来ている<a></a>タグ内にまだある1つのスペースのようにレンダリングされます。

EDIT2:私はまた、代わりに新しい行にあるのコンテンツの隣にあることを閉じタグが好きではありませんが、それはそれが動作するために行う必要があります方法を説明しますレコードの

正しく

私は良いフォーマットのコードが好きで、私は常に私のIDEで自動フォーマットコマンドを探します。

Visual Studioで

しかし、少なくとも、例えば、あなたがCtrlキーを打つ+ KCtrlキー + D(フォーマットのドキュメントshorcut)</a>のような終了タグが自動的に新しい行に移動されませんこの正確な理由から、自動フォーマットの前に見えるようにするべきではないということです。

+0

はい、それはそのように動作します。しかし、私はきれいなHTMLのテンプレートを持っているために、別々の行に開始タグ、アンカーと終了タグを持っていたいと思います。 –

+0

しかし、**あなたは**あなたのコードに余分なスペースを入れているので、あなたはそうすることはできません。空白(新しい行とその後の空白)はすべて、 ''タグ内にある単一のスペースになります。それはHTMLが人の作品であるかのようなものです –

+0

@Carlos実際には、誤ってそこに置くのはブラウザです。これをレンダリングする方法についてはhttp://www.w3.org/TR/html401/appendix/notes.html#notes-line-breaksを参照してください。問題はインデントされているため、改行と終了要素の間にタブストップがあります。理論的には、インデントしないで閉じることはそれを修正すべきですが、少なくともIE8とFF3ではありません。 – Gordon

1

はこのように、改行せずに、次の直後に「」タグを閉じ</a>タグ

+0

動作しません。まだもう一つのスペースがあります。 –

5

直後&nbsp;を置きますか?

<a href="/module/controller/course/id/5" class="accessible-link">Click here</a> 

これがうまくいくかどうかわかりませんが、試してみる価値はありますか。

+0

はい、それはそのように動作します。しかし、私はきれいなHTMLのテンプレートを持っているために、別々の行に開始タグ、アンカーと終了タグを持っていたいと思います。 –

+1

どこから来ているのか。ブラウザは空白で混乱しているので、それをクリアするために何もできません。 – DampeS8N

1

ちょうど不思議、あなたは次のように試すことができます。

+0

はい、それはそのように動作します。しかし、私はきれいなHTMLのテンプレートを持っているために、別々の行に開始タグ、アンカーと終了タグを持っていたいと思います。 –

関連する問題