2013-08-18 58 views
0
<div style="display:inline; margin-left:30px; "> 
       <span class="checktext"><?php echo $newspec->spec;?><span> 
       <input class="postptext" style=" display:inline; float:right;" type="checkbox" id="<?php echo $newspec->ID;?>" value="<?php echo $newspec->spec;?>"> 
</div> 

<div style="display:inline; margin-left:30px; "> 
       <span class="checktext"><?php echo $newspec->spec;?><span> 
       <input class="postptext" style=" display:inline; float:right;" type="checkbox" id="<?php echo $newspec->ID;?>" value="<?php echo $newspec->spec;?>"> 
</div> 

<div style="display:inline; margin-left:30px; "> 
       <span class="checktext"><?php echo $newspec->spec;?><span> 
       <input class="postptext" style=" display:inline; float:right;" type="checkbox" id="<?php echo $newspec->ID;?>" value="<?php echo $newspec->spec;?>"> 
</div> 

這是CSS:複選框不會充當正常

.postptext 
{ 
    float:right; 
} 

這是我的佈局。這是我所看到的:

http://i.imgur.com/D2K6KUW.png?1

正如你所看到的複選框都清楚正確的浮動,但他們堅持怪怪的。我不能設置保證金餘額,保證金,權利,任何東西。他們只會呆在那裏。我把margin-left 30px放到整個div上,但只有跨度正在應用邊距設置。我很困惑。我知道一些其他的CSS定義複選框設置。但不會浮動:是否足以覆蓋它?如果沒有,我應該怎麼做才能讓它們完全忽略由模板定義的CSS?

+3

發佈您的呈現HTML,而不是PHP這是無關緊要的。 – j08691

+0

您希望這些複選框看起來如何?你想讓他們全部排在一起並漂浮在右邊嗎?你想讓他們在'span'元素的左邊,複選框在右邊嗎? – djthoms

回答

0

'但他們堅持行爲怪異'有點含糊。如果不知道什麼是奇怪的,很難說如何使它不奇怪,因爲這可能是奇怪的。當我複製和測試你的代碼(同時用一些普通的tekst替換php代碼)時,我得到了一個不同的結果,其中複選框確實浮動到正確的位置(因爲他們應該這樣認爲)。

但是,我對奇怪行爲的第一次猜測是因爲div是內聯的。因爲這些內聯,浮動複選框將相對於主體浮動。至少,他們在我的情況下複製你的代碼。

例如,製作div內聯塊有一些效果,其中複選框相對於div浮動。

一對夫婦的言論:

  • 輸入要素已經內嵌在默認情況下。給他們添加'display:inline'似乎沒什麼意義,除非有其他css影響了顯示,在這種情況下,您已經忽略了一些重要的信息。
  • 將「float:right」添加到您的複選框,而類postptext已經提供了float:right對我來說似乎有點多餘。