2012-03-14 68 views
1

您好我正在嘗試將兩組複選框並排排列,並使複選框很好地對齊,但是每次我都將複選框並排放置在右側時,會變得很糟糕向上取決於文本大小左側並排對齊兩組複選框

所以我不知道是否有一種方法

這裏是代碼

UPDATE斷碼。

http://jsfiddle.net/Ysf7t/1/

+3

你可以發佈一個破碎的例子嗎?該代碼適合我。 – Blender 2012-03-14 20:12:15

+0

你在做什麼。你的例子沒有任何需要成爲有效HTML的標籤元素(更不用說可訪問性)。你需要確定樣式前的所有內容,以便以後不再遇到問題。 – 2012-03-14 20:14:17

+2

您需要將文本包裝到元素中,以便爲其分配寬度(以允許排列後續元素),或者使用JavaScript來實現相同效果。你更喜歡哪個? – 2012-03-14 20:23:46

回答

2

最簡單的方法將是給的名稱(即,「足球」,「奔馳」等),通過CSS一個固定的寬度。

基本上是這樣的:

<h1>Sports</h1> 

<div> 
    <input type='checkbox' name='system_type17' value='2' /> 
    <input type="checkbox" name="system_type3" value="5" /> 
    <span style="width:100px;display:inline-block;">Soccer</span> 
    <input type='checkbox' name='system_type17' value='2' /> 
    <input type="checkbox" name="system_type3" value="5" /> 
    <span style="width:100px;display:inline-block;">Mercedes</span> 
</div>   
<div> 
    <input type='checkbox' name='system_type18' value='3' /> 
    <input type='checkbox' name='system_type4' value='4' /> 
    <span style="width:100px;display:inline-block;">Mercedes</span> 
    <input type="checkbox" name="system_type7" value="2" /> 
    <input type="checkbox" name="system_type8" value="3" /> 
    <span style="width:100px;display:inline-block;">Mercedes</span> 
</div> 

當然,理想情況下,CSS不應內聯。但我希望你明白我的意思。

+0

謝謝我正在嘗試你的解決方案的寬度現在 – Ali 2012-03-14 20:32:13

+0

我接受你的解決方案,但在這種情況下,我使用margin-left而不是寬度。 :) – Ali 2012-03-14 20:47:19

+0

如果它適合你,很好,但保證金餘額做的不同於寬度。寬度定義了一個固定的寬度(可以說是100px),所以所有文本都有相同的佔用空間(寶馬,和梅賽德斯一樣)。使用保留餘量,無論文本有多長,您只給出與文本完全相同的左邊距(可以說是20px)。所以寶馬的原始寬度是PLUS 20px,奔馳的原始寬度是PLUS 20px。 – Steve 2012-03-14 20:51:12