2014-02-21 60 views
0

我正在爲我的網站使用Smarty。我通過數組解析來將數據打印到HTML表格中。以下是智者代碼:如何在以下場景中從表格中刪除額外空間?

{if $practice_details} 
<h2 align="center">Answer Key</h2> 

    {foreach from=$practice_details item=practice_sheet_data key=subject_name} 
    {foreach from=$practice_sheet_data.topics item=topic_details} 
     <br/> 
<table border="0" width="100%" cellpadding="0" cellspacing="0" border="0"> 
    <tbody> 
    <tr> 
     <td style="background:#eee;"><b>{$subject_name} - {$topic_details.topic_name}</b></td> 
    </tr> 
    </tbody> 
</table> 
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left"> 
    <tr> 
      {if $topic_details.practice_topics_ques} 
       {assign var='que_seq_no' value=1} 
       {assign var='count' value=1} 
       {foreach from=$topic_details.practice_topics_ques item = question_data} 

        {foreach from=$question_data item=qstn_ans key=key} 
      {if $qstn_ans.question_has_sub_ques==0} 
       {if $qstn_ans.answer} 
       {foreach from=$qstn_ans.answer item=ans key=ans_no} 
        {if $ans.answer_is_right==1}{assign var='correct_ans' value=$ans_no+1}{/if} 
       {/foreach} 
     <td> 
       {if $count % 10 == 1}Q&nbsp;{/if}{if $count % 10!=1}&nbsp;{/if}{$que_seq_no}<br/>{if $count % 10 == 1}A&nbsp;{/if}{if $count % 10!=1}&nbsp;{/if}{$correct_ans} 

     </td>  {assign var='que_seq_no' value=$que_seq_no+1} 

        {if $count % 10 == 0} 
    </tr><tr><td></td></tr> 
        {/if} 
        {assign var='count' value=$count+1} 
       {/if} 
      {else} 
       {if $qstn_ans.question_has_sub_ques==1 && $qstn_ans.sub_question} 
        {foreach from=$qstn_ans.sub_question item=sub_ques_ans key=sub_ques_no} 
         {if $sub_ques_ans.answer} 
          {foreach from=$sub_ques_ans.answer item=sub_ans key=sub_ans_no} 
         {if $sub_ans.answer_is_right==1} 
         {assign var='correct_sub_ans' value=$sub_ans_no+1} 
         {/if} 
        {/foreach} 

     <td> 
        {if $count % 10 == 1}<b>Q</b>&nbsp;{/if}{if $count % 10!=1}&nbsp;{/if}{$que_seq_no}.{$sub_ques_no+1}<br/>{if $count % 10 == 1}<b>A</b>&nbsp;{/if}{if $count % 10!=1}&nbsp;{/if}{$correct_sub_ans}</td> 
        {assign var='que_seq_no' value=$que_seq_no+1} 
         {if $count % 10 == 0} 
        </tr><tr><td></td></tr> 
         {/if} 
        {assign var='count' value=$count+1}      
        {/if}  
       {/foreach} 
       {/if} 
      {/if}    
      {/foreach} 
     {/foreach} 
     {/if} 
    </tr> 
    </table> 
    {/foreach} 
    {/foreach} 
{/if} 

供您參考我們已經附上一個js小提琴鏈接也: enter link description here 如果你查看輸出,它的打印完美,但有數據元素之間的不均勻水平間距。任何人都可以幫助我糾正我的smarty模板代碼,以便在表格之間以相等的水平間距(即兩個數據項之間只有一個空格)打印數據。

在此先感謝。

+0

它取決於無列。因爲你沒有在列上添加任何標準,所以它會自動調整寬度 –

+0

@AnkurAggarwal:那麼如何糾正它? – PHPLover

+0

檢查下面的答案 –

回答

1

你需要修復你的寬度。奇怪的是,你正在將所有東西都作爲一個表格來構建,甚至使用td來標題。我會建議你考慮表格重組。

不過,對於當前的代碼,你可以去下面的CSS

table td 
{ 
    min-width:100px; //change width according to your own need 
    display:inline-block; 
} 

默認情況下,表中有顯示:表單元格屬性。但它不能很好地適應寬度屬性。所以我將它改爲display:inline-block

小提琴:http://jsfiddle.net/ankur1990/7xFfa/1/

相關問題